Greenfoot #9: Spiel programmieren - »Ninja Attack«

    Projekt: Ninja Attack

    Die Ninjas greifen an! Sie müssen über jeden einzelnen springen. Manche sind besonders fies, manche geben mehr Punkte als andere …

    Nebenbei lernen wir auch noch:

    • Prinzip der Vererbung:
      • Oberklassen, Unterklassen
      • Methoden und Attribute vererben
      • Methoden und Attribute überschreiben
      • Zugriffsmodifikator protected
      • super()-Aufruf im Konstruktor
      • Verwendung von @Override
    • Klick auf Szenario abfragen
    • addedToWorld(…)-Methode
    • statische Attribute
    • Greenfoot.playSound(…)
    • realistisches Springen mit Schwerkraft
    • Sprite-Animationen
    • Code auskommentieren (einzeilig, Block-Kommentar)

    Bevor Sie anfangen, lesen Sie das!

    Das Hauptthema hier ist die Vererbung. Das Szenario ist aber einigermaßen aufwändig, da ein paar smarte Tricks verwendet werden (z. B. realistisches Springen mit Schwerkraft, Sprite-Animationen).

    Am Anfang geht es mal eine Viertelstunde mit den genannten Details zur Spieleprogrammierung los. Ziehen Sie sich das entspannt rein und machen Sie ein kurzes Päuschen oder überspringen Sie diesen Teil erst mal. Relevant wird es ab 14:04 bis 36:38, dann die Zusammenfassung am Schluss (ab 44:50). Anschließend machen Sie die Übung "Deep Sea" unten. Wenn Sie das alles durch haben, bearbeiten Sie den Rest der Ninja-Lektion, v.a. ist wichtig, dass Sie die addedToWorld-Methode verstehen. 

    Das hier brauchen Sie, um mitarbeiten zu können:

    Themenübersicht

    Es werden nur neue Themen aufgeführt. Alle bisher behandelten Themen finden Sie in den anderen Folgen (Übersicht).

    • 1:17 Greenfoot.mouseClicked(null) - Klick auf Startscreen abfragen
    • 2:00 Linie zeichen u.a. mit drawLine(…)
    • 4:35 addedToWorld(…)-Methode
    • 7:21 statisches Attribut
    • 8:47 Greenfoot.playSound(…)-Methode
    • 9:35 getObjects(…).get(0) zum Zugriff auf einzelne Actors
    • 11:14 realistisches Springen
    • 11:59 Sprite-Animationen (Kurzübersicht)
    • 14:04 Mehrere Gegner mit Vererbung
    • 16:31 Vererbungsprinzip Oberklasse-Unterklasse
    • 18:01 Schlüsselwort extends
    • 18:22 Methoden und Attribute vererben
    • 19:42 Überschreiben; Achtung: act()-Methode unabsichtlich überschreiben
    • 22:42 protected vs. private - Attribute vererben; Zugriffsmodifikatoren public, protected, private
    • 25:01 super()-Aufruf
    • 28:06 bewegen() überschreiben (SamuraiHeavy: Höhenänderung)
    • 32:15 @Override
    • 33:15 Sprite-Animationen I (SamuraiWalking)
    • 34:10 Zwei verschiedene Geschwindigkeiten zufällig festlegen
    • 35:45 Eigene Attribute der Unterklasse
    • 36:39 addedToWorld(…)-Methode überschreiben
    • 39:37 act()-Methode überschreiben
    • 40:44 Sprite-Animationen II (SamuraiWalking)
    • 42:35 Pro-Tipp: Spiele zum Testen einfacher machen
    • 42:54 Code auskommentieren (einzeiliger Kommentar, Blockkommentar)
    • 44:50 Zusammenfassung: Vererbung
    • 46:30 Supergeil

    Übung: »Deep Sea«

    Öffnen Sie dieses Szenario:

    Erweitern Sie es so, wie im folgenden Video gezeigt:

    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