Auf dieser Seite finden Sie Hintergrundinformationen über GreenfootKara
. Dies wird speziell hilfreich sein für Lehrpersonen.
Wenn GreenfootKara
in der Schule eingesetzt wird, wird die Bearbeitung des gesamten Materials ca. 16-20 Lektionen umfassen.
Behandelte Themen
- 1 Lektion: Installation von Greenfoot, Projekte starten
- 3 Lektionen: Kara kennen lernen, mit der Maus Objekte erstellen und Methoden ausführen, Quelltext lesen, erstes Programm schreiben (Kapitel 1)
- 3-4 Lektionen: Flussdiagramme, Kontrollstrukturen (Bedingungen und Schleifen), Boolean und logische Operatoren (Kapitel 2)
- 3-4 Lektionen: Variablen, Datentypen und Operatoren, Struktur einer Klasse, verschachtelte Anweisungen (Kapitel 3)
- 3-4 Lektionen: Spiel programmieren, Keyboard Input, Strings vergleichen, Javadoc lesen, eigene ASCII Levels designen, eigenes Szenario auf Greenfoot Webseite veröffentlichen (Kapitel 4)
- 3 lessons: Eigene Methoden mit Parametern und Rückgabewerten, Repetition (Kapitel 5)
Weiterführende Möglichkeiten
- Option 1: Ein eigenes Projekt mit Greenfoot entwickeln
- Option 2: Einführung in eine professionelle Entwicklungsumgebung wie Eclipse, Netbeans etc. (siehe GameGridKara)
- Option 3: Einführung in GUI-Programmierung mit JavaFX
Das Kara Scenario
Für die Verwendung des Kara-Szenarios muss die Programmierumgebung Greenfoot installiert werden.
Nach der Installation kann das Kara-Szenario mittels der Datei project.greenfoot
im Szenario-Ordner geöffnet werden.
Für jede Übungen wird jeweils ein vorbereitetes Szenario zur Verfügung gestellt (siehe Ordner scenarios-chapter-1, scenarios-schapter-1-solutions etc.). In jedem Szenario ist die Welt von Kara mit Bäumen, Kleeblättern etc. für die jeweilige Übung schon vorbereitet.
Die Möglichkeiten von Kara bleiben, ausser in Kapitel 4 und 5, überall gleich. Im Kapitel 4 kommen ein paar zusätzliche Methoden hinzu, damit das Sokoban-Spiel programmiert werden kann. Im Kapitel Kapitel 5 erhält Kara zu den Grundfunktionen noch die Möglichkeit, Nachrichten anzuzeigen und eine Eingabe des Benutzers zu erhalten.
Die Klassen Kara und MyKara
Die wichtigsten Klassen sind Kara
und MyKara
. Die Klasse Kara
beinhaltet alle Funktionalität des Käfers Kara. Programmiert wird jedoch immer in der Klasse MyKara
, wobei durch Vererbung auf die Methoden von Kara
zugegriffen werden kann. So müssen sich die Lernenden am Anfang nicht unnötig mit der Komplexität dieser Methoden beschäftigen.
Später können die Lernenden dann natürlich nachschauen, wie die Methoden in Kara
implementiert wurden.
Dazu empfiehlt sich, zuerst die Documentation-Ansicht dieser Klasse zu verwenden, welche im Greenfoot-
Editor die Javadoc-Kommentare anzeigt.
Der Einstieg mit der Maus
Objekte der Klassen können durch Rechtsklick | new ….() instanziiert und in der Welt platziert werden. (Tipp: Durch Drücken der Shift-Taste können mehrere Instanzen einer Klasse in die Welt gesetzt werden, ohne jeweils das Kontextmenu auszuwählen).
Beim ersten Kontakt mit GreenfootKara
kann zuerst nur mit der Maus gearbeitet werden. Wenn man auf ein
Kara-Objekt einen Rechtsklick macht, dann erscheinen alle Methoden, die man zur Verfügung hat. Die kann
man auswählen und dabei beobachten, was Kara macht.
Programmieren
Die Programme werden in der act()
-Methode von MyKara
geschrieben. Diese Methode wird beim Drücken
des Act-Knopfes ausgeführt. Wenn der Run-Knopf gedrückt wird, dann wird die act()
-Methode wiederholt
aufgerufen.
Eigene Szenarien erstellen
Um eigene Szenarien zu erstellen empfiehlt sich, ein existierendes Szenario zu kopieren und in der Datei WorldSetup.txt
Änderungen vorzunehmen.
Hinweis: Wenn Sie einen anderen Namen für die Datei verwenden möchten als WorldSetup.txt
, ändern Sie die Konstante WORLD_SETUP_FILE
in der KaraWorld
Klasse.
Eine World Setup Datei kann auch mehrere Welten beinhalten. Jede Welt muss mit den folgenden drei Zeilen beginnen:
World: [Your title] X: [Width of the world] Y: [Height of the world] [Your actors]
Die Actors werden wie folgt repräsentiert:
#
: Baum@
: Kara.
: Blatt$
: Pilz*
: Pilz auf einem Blatt+
: Kara auf einem Blatt
Tipp: Erstellen Sie die Welt im Greenfoot Editor. Mit Rechtsklick auf die Welt | saveWorldSetupToFile() oder printWorldSetupToConsole() kann eine in Greenfoot erstellte Welt gespeichert werden.
Scenario Quelldateien auf GitHub
Falls Sie Änderungen an GreenfootKara
vornoehmen möchten, schauen Sie das GreenfootKara Repository auf GitHub an. Dieses Repository enthält ein Eclipse-Projekt mit allen Quelldateien von GreenfootKara
und allen Szenarien. Dort können Sie auch Fehler in GreenfootKara
melden.
Generelle Tipps
Greenfoot Editor Tipps
- Oft haben Lernende Mühe mit dem sauberen Strukturieren durch Geschweifte Klammern und das Setzen von Tabulatoren. Der Editor hilft beim Formatieren durch eine Auto-Layout-Funktion (Menu Edit).
- Mit Ctrl-Space öffnet sich eine Kontext-Hilfe für die Autovervollständigung.
- Oben Rechts im Editor kann die Ansicht von Source Code auf Documentation gestellt werden.
- Unter dem Menu Options | Preferences … kann die Schriftgrösse verändert werden (z.B. für eine Präsentation am Beamer).
Bilschirmausgaben oder Eingaben des Benutzers
Es gibt verschiedene Möglichkeiten in Greenfoot mit dem Benutzer über Input/Output zu interagieren:
- Mit
System.out.println(...)
-Befehlen etwas auf die Konsole schreiben. - Mit einem Swing-Dialog (z.B.
JOptionPane
): Dies wird inKaraIO
(Kapitel 5) verwendet. - Mit gezeichneten Labels: Dies ist die komplexeste Variante ist aber elegant, da die Ein- und Ausgabe direkt auf der Welt erscheint und nicht nur in einem Popup-Dialog. Ein Beispiel dazu kann in
KaraSokoban
(Kapitel 4) gefunden werden.
Szenarien mit anderen Teilen (Deployment)
Mit Greenfoot können Szenarien einfach exportiert und anderen zur Verfügung gestellt werden. Es gibt dazu drei Möglichkeiten:
- Das Szenario auf die Greenfoot Gallery stellen. Dort kann es direkt online als Applet ausgeführt werden. Auch die Highscore-Liste von Sokoban Kara sollte funktioniern.
- Das Szenario als Runnable-Jar-Applikation exportieren.
- Eine eigene Internetseite mit dem Szenario erstellen.
Bekannte Fehler
Welt erscheint nicht mehr
Es kann vorkommen, dass Greenfoot blockiert und die Welt von Kara nicht mehr gezeichnet wird. Auch ein erneutes Kompilieren oder Drücken von Reset hilft nicht mehr.
Grund: Oft passiert dies, wenn das Programm zu lange in der Act-Methode bleibt und dann der Benutzer versucht, das Programm zu unterbrechen. Das ist ein Problem, das bei Greenfoot bekannt ist, jedoch schwierig zu beheben ist. Es ist nämlich bei Java kaum möglich, eine laufende Methode von aussen zu unterbrechen.
Lösung: Greenfoot beenden und neu starten. Alternativ kann man auch den Debugger öffnen und dort auf Terminate klicken. Dies beendet das Szenario und startet gleich wieder neu.
Buchempfehlung und weiterführende Links
Das Buch von Michael Kölling Einführung in Java mit Greenfoot ist sehr zu empfehlen. Es kann entweder als Inspiration für die Lehrperson oder als Lehrbuch für die ganze Klasse verwendet werden.
-
code.makery.ch Blog (Neue Versionen von GreenfootKara werden hier angekündigt)
-
Links zu Kara and Greenfoot:
- Worksheets and exercises for Kara: http://www.swisseduc.ch/informatik/karatojava/javakara/material/
- Main Website for Greenfoot: https://www.greenfoot.org
- Greenfoot forum for teachers: http://greenroom.greenfoot.org