Projekt: Cosmic Invaders
Zwei Spieler/innen kämpfen in diesem Sidescroller gegen Alien-Raumschiffe. Sobald ein Alien es lebend an beiden Spielern vorbeigeschafft hat oder beide Spieler ihre 3 Leben aufgebraucht haben, ist das Spiel vorbei - Game Over. Natürlich tauchen in regelmäßigen Abständen Bosse auf. Das Spiel wird mit jedem besiegten Boss schwieriger.
Nebenbei lernen wir auch noch:
- Der
super()
-Befehl in Vererbungsstrukturen
- Kontrolliertes Schießen
- 2-Player-Game
- Actor-Reihenfolge mit
setPaintOrder(…)
GreenfootImage
-Methoden (setColor
, fill
…)
- Moving Background
- Simulation einer Hintergrundbewegung (Sterne)
Bevor Sie anfangen, lesen Sie das!
Das ist ein ziemlicher Klotz - fast eine Stunde lang! Aber dafür programmieren wir ein 2-Player-Spiel mit interessanten und teilweise anspruchsvollen Features (z.B. bewegender Sternen-Hintergrund).
Das hier brauchen Sie, um mitarbeiten zu können:
Übung: Gestern beim Tierarzt
Öffnen Sie dieses Szenario:
Achtung: Es geht bei dieser Übung ausschließlich um den super()
-Befehl in Vererbungsstrukturen. Wenn Sie das nicht draufhaben, schauen Sie sich nochmal die entsprechenden Abschnitte an (Folge 9/Ninja: 25:01 super()-Aufruf (ohne Parameter) und Folge 10/Cosmic Invaders: 11:11 super() mit Übergabeparametern).
Ergänzen Sie die super()
-Aufrufe, wie im folgenden Video gezeigt. Sie ändern sonst nichts, außer dass Sie überall super()
-Aufrufe einfügen (also keine Attribute irgendwo löschen, einfügen, keine Zugriffsmodifikatoren ändern …).
Lösung
Sie finden hier ein Lösungsvideo. Das ist weitgehend unkommentiert, ich programmiere das einfach kurz runter. Schauen Sie das ERST DANN an, wenn Sie wirklich nicht weiterkommen. Die Übung ist dazu da, dass Sie die neu erlernten Inhalte anwenden - wenn Sie das jetzt einfach nachprogrammieren, lernen Sie gar nichts.
Klick hier, um Lösung ein-/auszublenden …
TEST
Passwort 1234: klick hier (kommt noch)