Greenfoot #7: Spiel programmieren - »Agent Heather«

    Projekt: Agent Heather

    Agent Smith sucht in der Disco seine Kontaktperson. Dazu muss er alle Disco-Besucher ansprechen und herausfinden, ob Sie »Heather« heißen. Findet er Heather, ist das Spiel gelöst - findet er Heather nicht, lenkt er seine Gesprächspartner/in durch ein belangloses Gespräch über Getränkepreise und Tanzformen ab.

    Nebenbei lernen wir auch noch:

    • Methoden mit Rückgabewert; return
    • Kommunikation mit anderen Objekten: getOneIntersectingObject(…)
    • Level-Wechsel (Wechsel zu einer anderen World-Klasse) mit Greenfoot.setWorld(…)
    • Eigener Startbildschirm mit Start-Button
    • Klick auf Objekte abfragen mit Greenfoot.mouseClicked(…)
    • String-Vergleiche mit equals (nicht mit ==)
    • GreenfootImage mit Textaufschrift (z. B. Buttons erstellen)
    • Java-Farben (Color-Klasse, z. B. Color.RED oder Color.BLUE)
    • Szenario kurz stoppen mit Greenfoot.delay(…)
    • if mit else-Zweig
    • Verschachtelte if-Verzweigung (if in if)
    • NullPointerException beim Zugriff auf null
    • Pro-Tipp: Suchen und Ersetzen

    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).

    • 2:20 Methoden mit Rückgabewert (Besucher-Klasse)
    • 4:02 Neue Welt-Klasse »Startbildschirm«
    • 4:59 Texte auf der World: Bild mit Textaufschrift; genauerer Blick in GreenfootImage
    • 6:33 Farben in Java: Color-Klasse
    • 6:51 GreenfootImage-Objekt einem Actor-Objekt zuordnen
    • 9:14 Anführungszeichen in Strings - escapen mit Backslash; längere Strings zusammenbauen mit +=; Zeilenumbruch mit \n
    • 13:32 Klickbaren Button erzeugen; Greenfoot.mouseClicked(…)
    • 15:16 Eigener Startbildschirm: Greenfoot.setWorld(…)
    • 16:08 Textausgaben in eigene Methode auslagern
    • 18:00 Agent-Objekt quatscht Besucher-Objekte an; Szenario kurz stoppen mit Greenfoot.delay(…)
    • 19:47 Andere Objekte mit getOneIntersectingObject(…) holen; Actor in Besucher casten; NullPointerException beim Zugriff auf null
    • 23:58 Methoden mit Rückgabetyp und return
    • 24:47 Strings vergleichen mit equals(…)
    • 26:02 else-Zweig einer if-Verzweigung
    • 26:35 Getränkepreise von anderem Objekt berechnen lassen
    • 27:36 Zufallszahl ohne 0 würfeln
    • 28:58 Verschachtelte Verzweigung (if in if)
    • 31:12 Suchen und Ersetzen in der Greenfoot-IDE
    • 33:28 Zusammenfassung: Objekt-Kommunikation, Texte auf der Welt

    Übung: »Sorry … uhm …«

    Öffnen Sie dieses Szenario:

    Erweitern Sie es so, wie im folgenden Video gezeigt:

    video

    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.

    video