6 KiB
Anforderungen definieren
Spieltitel und Ziel des Spiels
Spieltitel: Maus im Käselabyrinth
Spielart: 2D-Labyrinthspiel / Sammelspiel
Ziel des Spiels:
Die Spielerin oder der Spieler steuert eine Maus durch ein Labyrinth. Im Labyrinth sind 10 Käsestücke verteilt, die eingesammelt werden müssen. Gleichzeitig bewegt sich eine Katze durch das Labyrinth. Das Spiel ist gewonnen, wenn alle 10 Käsestücke gesammelt wurden. Wird die Maus vorher von der Katze gefangen, ist das Spiel verloren.
Aufgabenstellung für die Schüler*innen
Entwickelt ein einfaches 2D-Spiel mit dem Titel „Maus im Käselabyrinth“.
Ihr steuert eine Maus durch ein Labyrinth. Ziel ist es, 10 Käsestücke einzusammeln, ohne von der Katze gefangen zu werden. Die Maus darf sich nur auf freien Wegen bewegen und nicht durch Wände laufen. Die Katze bewegt sich ebenfalls im Labyrinth.
Wenn die Katze die Maus berührt, endet das Spiel mit „Game Over“. Wenn alle Käsestücke eingesammelt wurden, erscheint eine Gewinnmeldung.
Spielmechanik und Steuerung
Das Spiel soll folgende Mechaniken enthalten:
- Die Maus wird mit den Pfeiltasten oder mit W, A, S, D gesteuert.
- Das Spielfeld besteht aus einem einfachen Labyrinth mit Wegen und Wänden.
- Die Maus darf nicht durch Wände laufen.
- Im Labyrinth liegen 10 Käsestücke.
- Wenn die Maus ein Käsestück berührt, verschwindet es.
- Für jedes eingesammelte Käsestück erhöht sich der Punktestand um 1.
- Eine Katze bewegt sich durch das Labyrinth.
- Berührt die Katze die Maus, ist das Spiel verloren.
- Sind alle 10 Käsestücke eingesammelt, ist das Spiel gewonnen.
Zu lernende Programmierelemente
| Programmierelement | Verwendung im Spiel |
|---|---|
| Variablen | Speichern der Position von Maus und Katze, Anzahl der gesammelten Käsestücke und Spielstatus |
| Bedingungen | Prüfen, ob die Maus eine Wand berührt, Käse einsammelt, von der Katze gefangen wird oder gewonnen hat |
| Schleifen / Game Loop | Das Spiel wird fortlaufend aktualisiert, Bewegungen werden berechnet und das Spielfeld neu gezeichnet |
| Events / Tastatureingaben | Die Maus reagiert auf Tastendrücke der Spielerin oder des Spielers |
| Kollisionserkennung | Erkennen von Zusammenstößen zwischen Maus und Wand, Maus und Käse sowie Maus und Katze |
| Listen / Arrays | Speichern der 10 Käsestücke oder des Labyrinth-Aufbaus |
| Koordinatensystem | Positionierung von Maus, Katze, Käse und Wänden im Spielfeld |
| Zählvariable / Punktesystem | Zählen der eingesammelten Käsestücke |
| Spielzustände | Unterscheidung zwischen „Spiel läuft“, „Gewonnen“ und „Game Over“ |
Code analysieren
Im Spiel „Maus im Käselabyrinth“ erkennt man viele grundlegende Programmierkonzepte:
Variablen speichern z. B. die Position der Maus und Katze, den Punktestand und den Spielzustand:
score = 0
game_state = "running"
mouse_pos = [1, 1]
Listen werden für das Labyrinth und die Käsestücke genutzt. Das Labyrinth besteht aus 0 für Wege und 1 für Wände.
Bedingungen prüfen, ob die Maus gegen eine Wand läuft, Käse einsammelt, von der Katze gefangen wird oder gewonnen hat.
Schleifen kommen in der Game Loop vor. Dort wird das Spiel ständig aktualisiert und neu gezeichnet.
Funktionen strukturieren den Code, z. B. move_mouse(), draw_maze() oder check_win().
Events verarbeiten Tastatureingaben wie Pfeiltasten oder W, A, S, D.
Klassen kommen im Code nicht vor, was für Anfänger*innen sinnvoll ist.
Der Code ist teilweise verständlich, aber einige Stellen könnten Schüler*innen überfordern. Besonders schwierig sind die Wegsuche der Katze, viele Zeichenbefehle mit Koordinaten und der Umgang mit globalen Variablen.
Zur Vereinfachung könnte man das Spiel in Teilschritte zerlegen: zuerst Fenster und Labyrinth, dann Mausbewegung, danach Wandkollision, Käse und Punktestand, Gewinnbedingung und zuletzt die Katze.
Didaktischer Ansatz
Für dieses Spiel eignet sich besonders eine Kombination aus:
- Lernen mit Lösungsbeispielen
- Live-Coding / Participatory Live Coding
- Spiralansatz
Der Code enthält viele Konzepte gleichzeitig. Deshalb wäre es zu schwierig, wenn Schüler*innen das ganze Spiel direkt selbst programmieren müssten.
Zuerst könnte man eine vereinfachte Version als Lösungsbeispiel geben. Diese enthält nur Labyrinth, Maus und Bewegung. Die Schüler*innen lesen den Code und markieren Variablen, Bedingungen, Listen und Funktionen.
Danach wird das Spiel im Live-Coding schrittweise erweitert. Die Lehrkraft programmiert sichtbar, aber die Schüler*innen entscheiden mit, was als Nächstes passieren muss. Zum Beispiel: „Welche Koordinate ändert sich, wenn die Maus nach rechts läuft?“ oder „Wie prüfen wir, ob dort eine Wand ist?“
Anschließend können die Schüler*innen Lücken im Code ergänzen, etwa beim Punktestand oder bei der Gewinnbedingung.
Als Einstieg eignen sich besonders Variablen, das Labyrinth als Liste und die Bewegung der Maus. Später kommen Käse, Punktestand und Spielzustände hinzu. Die Katze und besonders ihre Wegsuche sollten erst am Ende behandelt werden, da sie deutlich komplexer sind.
Reflexion
Schwierigkeiten könnten vor allem beim Koordinatensystem, bei der Verbindung zwischen Labyrinth-Liste und Spielfeld sowie bei der Kollisionserkennung entstehen. Auch die automatische Bewegung der Katze ist für Anfänger*innen anspruchsvoll.
Sinnvolle Unterstützung wären kommentierte Codebeispiele, Partnerarbeit und kleine Teilaufgaben. Zum Beispiel könnten Schüler*innen zuerst nur die Startposition ändern, Käse hinzufügen oder erklären, was eine bestimmte Bedingung macht.
Die KI-Unterstützung hat den Arbeitsprozess beschleunigt, weil schnell ein lauffähiger Spielprototyp entstanden ist. Für den Unterricht muss der Code aber didaktisch reduziert werden. KI kann gute Beispiele liefern, ersetzt aber nicht das Verstehen. Wichtig ist, dass Schüler*innen den Code lesen, verändern, erklären und schrittweise weiterentwickeln.