javatextadventur.es
Diese Website richtet sich in erster Linie an Lehrer und Lehrerinnen, die an Schulen im Fach Informatik unterrichten. Ich möchte Ihnen hier ein BlueJ-Projekt vorstellen, dass als Framework gedacht ist, um vergleichsweise einfach und schnell Programmierspiele für Schüler in BlueJ umsetzen zu können. Eine Beispielhafte Umsetzung eines solchen Programmierspiels, dass sich am Lehrplan für neunte Klassen an Gymnasien in Bayern orientiert, finden Sie unter dem Menüpunkt FairyTales.
Mit Hilfe des Frameworks ist es möglich Klassen, Attribute und Methoden festzulegen und zu verwenden, ohne dass sie bereits implementiert sind. Dadurch ist es möglich Aufgaben zu definieren, wie zum Beispiel:
- Programmiere eine Klasse TEST mit einem ganzzahligen Attribut x.
- Erweitere deine Klasse TEST um den Standard-Konstruktor, der das Attribut x auf den Wert 5 setzt und die setze- und nenne-Methoden für das Attribut x.
Für jede der Aufgaben wird vom Lehrer nun eine eigene Level-Klasse programmiert. In der festgelegt wird, es muss eine Klasse TEST existieren und diese Klasse muss ein ganzzahliges Attribut enthalten. In der zweiten Level-Klasse wird nun überprüft, ob das Attribut x korrekt initialisiert wird und ob die setze- und nenne-Methoden korrekt funktionieren. Dazu muss aber im ersten Level nur die bereits im Framework enthaltenen Methoden checkClass("TEST") und checkAttribute(c, "x", "int") aufgerufen werden. Alle Methoden die in der abstrakten Level-Klasse enthalten sind, geben dabei dem Spieler/Schüler auch automatisch eine Fehlermeldung, falls seine Klasse syntaktische beziehungsweise semantische Fehler enthält. So werden zum Beispiel Fehlermeldungen angezeigt, falls die Klasse Fehler in der Groß-/Kleinschreibung enthält (z.B. Test statt TEST), oder der Datentyp des Attributs falsch gewählt wurde (z.B. String statt int). Seit der Version 0.4 ist es auch möglich Hilfestellungen zu Syntax-Fehlern zu geben.
Zum Beispiel wird dem Schüler eine Meldung angzeigt, dass er eine geschweifte Klammer zu am Ende der Klasse vergessen hat, anstatt lediglich der Compiler-Fehler "reached end of file while parsing". Sollten Sie weitere Compiler-Fehler, die bisher nicht befriedigend kommentiert werden, oder andere Bugs entdecken, wäre ich Ihnen sehr dankbar, wenn Sie diese in einer kurzen Mail an mich weiterleiten würden.
Löst der Spieler eine Programmieraufgabe richtig wird dies vom Spiel erkannt und die nächste Aufgabe wird angezeigt, so bald der das Spiel neu öffnet. Ganz im Stil eines gewöhnlichen Textadventures können auch hier die von den Spielern eingegebenen Werte einen Einfluss auf den Spielverlauf nehmen. So wird in FairyTales zum Beispiel sobald der Spieler einen Wert für das Attribut name in der HELD-Klasse vergeben hat, der Intro-Text sowie die Programmieraufgaben angepasst und der Held mit seinem Namen "angesprochen". Auch der Attributwert des Attributs rechtshaener in der Klasse HELD hat Auswirkungen auf das Spiel.
Das SpieleFenster besteht immer aus einem Hintergrund-Bild, einem erklärenden Intro-Text der entweder auf die letzte Aufgabe eingeht, oder die Story erzählt, und einem Aufgaben-Text (task) der die eigentliche Programmieraufgabe enthält. Zusätzlich können entweder jeweils ein Bild am linken oder rechten Rand angezeigt werden, oder ein großes Bild in der Mitte des Fensters:
Sie haben Lust bekommen, ein eigenes Programmierspiel zu entwickeln? Unter dem Menü-Punkt FairyTales finden Sie neben dem herunterladbaren Projekt für Schüler, auch die Quelltexte zu den einzelnen Leveln, als Beispiel-Projekt, wie man mit dem Framework ein eigenes Programmier-Spiel erstellen kann. Sollten Sie bereits ein Programmier-Spiel mit dem Framework erstellt haben, würde ich mich freuen, es testen zu dürfen und nach Absprache hier auf dieser Seite zu veröffentlichen. Ich werde im Laufe der Zeit neben FairyTales auch noch weitere Programmier-Spiele hier veröffentlichen.

