Benutzer-Werkzeuge

Webseiten-Werkzeuge


spaceshooter:start

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 und Level auf das Main-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 Klassen Level1, 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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki