spaceshooter:start
Inhaltsverzeichnis
Projekt Space-Shooter
Ziel dieses Kapitels ist es, ein klassisches Space-Shooter-Spiel zu programmieren. Wir orientieren uns von der Funktionalität her grob am Klassiker Katakis:
Klassendiagramm
Wir sammeln zunächst, welche Features unser Spiel haben soll:
- Raumschiff
- Steuerung mit den Cursortasten
- Welt drumherum scrollt von rechts nach links, damit entsteht der Eindruck, das Raumschiff bewege sich nach rechts
- schießen mit der Leertaste
- Gegner, die sich bewegen und schießen können
- Steinbrocken, die sich bewegen
- zusätzlich statische Hintergrundelemente
- Powerups zum Aufsammeln
- besserer Schuss
- Shield
- mehrere Levels
- Zustände: Startbildschirm, laufendes Spiel, Game-Over-Bildschirm
Gedanken bei der Erstellung des Klassendiagramms
- Unsere Erfahrung aus den vorhergehenden Spielen legt nahe, eine zentrale Klasse
Main
zu erstellen, von der es genau ein Objekt gibt.- Das Main-Objekt verwaltet die Levels
- Das Main-Objekt verwaltet die Projektile
- Das Main-Objekt regelt den Übergang zwischen den Zuständen.
- Das Main-Objekt verwaltet das Raumschiff
- Wir sehen "Rückreferenzen" von
Spaceship
undLevel
auf dasMain
-Objekt vor, damit wir in den Methoden dieser Klassen Zugriff darauf haben.
- Die Klasse
Level
umfasst die Gemeinsamkeiten aller Levels. Was die Levels unterscheidet schreiben wir in die Methoden der KlassenLevel1
,Level2
, usw.
Beachte die Zusätze "{ abstract }" im Klassendiagramm erstmal nicht. Du wirst weiter unten erfahren, was es damit auf sich hat.
Einfachere Variante...
spaceshooter/start.txt · Zuletzt geändert: 2023/06/11 15:22 von Martin Pabst