Zielgruppe: 14–16 Jahre, Python-Grundlagen aus den Mini-Games. Umgebung: vorhandenes Python und VS Code, Pygame, freigegebener KI-Textchat im Browser. Keine Editor-Agenten oder API-Schlüssel erforderlich.
Nach den ersten 120 Minuten inklusive 10 Minuten Pause können die SuS eine Grenze von KI benennen, einen konkreten Prompt formulieren, das Pygame-Fenster ausführen und eine kleine Änderung erklären und testen. Das vollständige Snake ist Material für eine anschliessende Einheit von etwa 90–120 Minuten, kein Pflichtziel der ersten zwei Stunden.
.venv, Paketinstallation, Interpreterwahl, Fensterstart und Tastatur.beispiele/snake und das Lernprotokoll vorab verteilen oder über die Lernseiten bereitstellen.| Minuten | Aktivität | Material / Ergebnis |
|---|---|---|
| 0–10 | Einfaches Snake zeigen, Spielregeln sammeln | 03_snake.py; Was muss das Programm speichern? |
| 10–25 | KI-Theorie und Regeln diskutieren | KI verstehen; ein Beispiel für einen plausiblen Fehler |
| 25–40 | Raster und Spielschleife an der Tafel | Spielfenster; Raster- in Pixelposition umrechnen |
| 40–50 | «Mach Snake» gemeinsam verbessern; falsche Randprüfung untersuchen | Prompt mit Ziel, Kontext und gewünschter Hilfe |
| 50–60 | Pause | |
| 60–80 | Umgebung einrichten, Chat oder Alternative bereitstellen | Setup; Fenster startet und schliesst |
| 80–90 | Startcode lesen, Position oder Farbe ändern | 01_spielfenster.py; Vorhersage und Beobachtung |
| 90–105 | Etappe 2 öffnen; Randfarbe mit KI oder Hilfekarte ergänzen | Bewegung; 02_bewegung_eigen.py |
| 105–115 | Vier Ränder testen, eine Zeile dem Partner erklären | Lernprotokoll mit Erwartung und Ergebnis |
| 115–120 | Exit-Ticket | «Mein Test», «Meine Erklärung», «Meine offene Frage» |
Bei Setup-Verzögerungen endet das Pflichtziel nach Etappe 1 mit einer Farbänderung und einem nachvollziehbaren Test. Die Randaufgabe verschiebt sich in die nächste Stunde. Schnelle Gruppen untersuchen die Körperliste, ohne den gemeinsamen Reflexionsteil auszulassen.
Vorschlag für weitere 90 Minuten: 10 Minuten Rückblick, 20 Minuten Körperliste, 20 Minuten Futter/Wachstum, 20 Minuten Kollision/Neustart, 15 Minuten Partnerprüfung, 5 Minuten Dokumentation. Bei Bedarf zusätzliche 30 Minuten zum Lesen und Erklären des Codes einplanen. Die vollständige Lösung ist auf Etappe 5 verfügbar. SuS müssen nicht alle Pygame-Befehle auswendig reproduzieren.
Frage zuerst: «Wo entscheidet dein Programm bereits, ob eine Bewegung erlaubt ist?» Die Farbe muss in beiden Zweigen dieser Entscheidung gesetzt werden. Der passende Ausschnitt ist:
if 0 <= neu_x < SPALTEN and 0 <= neu_y < ZEILEN:
x, y = neu_x, neu_y
farbe = (80, 220, 120)
else:
farbe = (240, 70, 70)
Danach im vorhandenen pygame.draw.rect den bisherigen Farbwert durch farbe ersetzen. Das ist ein Ausschnitt für Etappe 2, kein eigenständig startbares Programm. Test: alle vier Ränder, vom Rand weglenken und Esc. Erwartet: rot bei blockiertem Schritt, grün bei erlaubtem Schritt.
(10, 4) entspricht (250, 100) Pixeln. Ereignisse sind auch zum Schliessen nötig.(5, 8) nach rechts steht der Kopf bei (8, 8). Gültige Spalten sind 0–23. Die Richtung bleibt zwischen Tastendrücken gespeichert.Die Prüfsuite tests/test_snake.py kontrolliert Spielregeln und startet alle drei Programme mit einem unsichtbaren SDL-Testfenster. Aus dem Repository-Hauptordner, mit einem Python mit installiertem Pygame:
python -m unittest discover -s tests -p test_snake.py
Zusätzlich vor Ort prüfen: sichtbare Darstellung, Fensterfokus, vier Richtungen, Game Over, R und Esc. Automatische Tests ersetzen den Test auf Schulgeräten nicht.
| Kriterium | Erfüllt, wenn … |
|---|---|
| Auftrag | Eine kleine Änderung und klare Grenzen formuliert sind |
| Verständnis | Mindestens eine relevante Zeile korrekt erklärt wird |
| Prüfung | Normalfall, Grenzfall und bisherige Funktion dokumentiert sind |
| Transparenz | Übernommene und verworfene KI-Hilfe benannt wird |
Bewerte das Vorgehen und Verständnis, nicht die Länge der KI-Antwort oder die Menge neuer Features. Ein nicht gelöster Fehler mit sauberem Testprotokoll ist ein sinnvoller Lernstand.
Offizielle technische Quellen: Pygame, Ereignisse, Zeitsteuerung. Für didaktische Anregungen: OpenAI: Bildung. Anbieterbedingungen und schulische Vorgaben vor jedem Durchlauf erneut prüfen; dieses Material setzt keinen bestimmten Modellnamen oder ein festes Nachrichtenkontingent voraus.
Nach Änderungen an den Python-Dateien synchronisiert python scripts/sync_snake_docs.py die vollständigen Codeblöcke und das Downloadpaket. python scripts/sync_snake_docs.py --check prüft, ob sie aktuell sind.