Unterrichtsbaustein · Detail
Bomberman light: Raster-Bombe
Der Baustein führt zentrale Konzepte der rasterbasierten Spielentwicklung in Python 2 mit frameCraft ein. Im Mittelpunkt stehen die schrittweise Modellierung von Spielfeld, Bewegung, Bombenlogik, Explosionen und Spielzuständen in einem bewusst klein gehaltenen Bomberman-light-Projekt.

KI-gestützter Projektaufbau
Strukturiertes Programmieren mit KI-Coding und ProtoTypeFirst
Dieser Kurs wurde speziell für Lernende entwickelt, die mit KI-Unterstützung strukturiert programmieren und bestehenden Code gezielt weiterentwickeln möchten.
KI-Coding im Projektstand
KI-Coding integriert eine kontextbewusste KI direkt in CodeRoom. Sie erweitert bestehenden Code, erklärt Fehler, setzt gezielte Änderungen um und unterstützt die Weiterentwicklung im aktuellen Projektstand.
Transparente Code-Entwicklung
Der Kurs legt den Schwerpunkt auf didaktisch eingebettete Unterstützung, nachvollziehbare Änderungen und sofort testbare Ergebnisse. Prompts, Änderungen und Versionen bleiben dadurch für die unterrichtliche Begleitung transparent.
ProtoTypeFirst-Format
Alle Inhalte starten mit einem bereits funktionierenden Prototyp. Dieser wird schrittweise mit KI-Coding weiterentwickelt, sodass jede Erweiterung an einem sichtbaren Ausgangszustand ansetzt.
Einführung
Der folgende Auszug zeigt den Einstieg des Unterrichtsbausteins in gekürzter Form.
Du startest nicht mit einem fertigen Spiel, sondern mit einer vorbereiteten Baustelle. Die Szene läuft bereits, zeigt einen Titel, ein einfaches Spielfeld-Rechteck, eine Platzhalterfigur und einen Marker. Das eigentliche Bomberman-Spiel entsteht erst durch deine Änderungen mit dem AI Coding Window.
Didaktische Einordnung
Der Baustein wird fachlich und unterrichtspraktisch kompakt eingeordnet.
Fachliche Zielsetzung
Der Baustein macht die Entwicklung eines rasterbasierten Spiels als Folge kleiner, prüfbarer Modellierungsschritte sichtbar. Zentrale Konzepte sind Raster-Pixel-Umrechnung, zustandsbasierte Spiellogik, Datenlisten für Spielobjekte sowie die Trennung von Startaufbau und Laufzeitregeln.
Kompetenzentwicklung
- Modellieren: Rasterfelder, Spielfiguren, Bomben und Blöcke werden als strukturierte Daten im Projekt abgebildet.
- Algorithmisieren: Bewegung, Sperren, Countdown, Explosion und Siegbedingung entstehen aus klaren Regelprüfungen.
- Abstrahieren: Eine Hilfsfunktion für Raster-zu-Pixel-Positionen reduziert Wiederholungen und macht Koordinatenlogik nachvollziehbar.
- Testen: Jede Erweiterung kann am sichtbaren Prototyp überprüft und in ihrem Effekt eingeordnet werden.
Unterrichtlicher Mehrwert
- Der funktionierende Startprototyp bietet einen klaren Ausgangspunkt für schrittweise Erweiterungen.
- Die Aufgabenfolge zerlegt ein Spielsystem in überschaubare Teilmechanismen.
- Erweiterungsaufträge ermöglichen Differenzierung über Gegner, Zielzustände, Neustart und Punkte.
Ablauf der Unterrichtseinheit
Die Aufgaben werden in der Reihenfolge des JSON dargestellt und als Entwicklungsschritte des Projekts zusammengefasst.
Rasterlinien sichtbar machen
Der vorhandene Spielfeldbereich wird um einfache Rasterlinien ergänzt. Dadurch wird aus dem Platzhalterfeld eine sichtbar strukturierte Spielfläche, ohne bereits Regeln oder Kollisionen einzubauen.
Spieler wie eine Bomberman-Figur gestalten
Die Platzhalterfigur wird grafisch zu einer kleinen Bomberman-ähnlichen Spielfigur weiterentwickelt. Position und Logik bleiben unverändert, damit Darstellung und Verhalten getrennt bearbeitet werden.
Rasterposition des Spielers speichern
Für den Spieler werden eigene Szenenwerte für Spalte und Zeile angelegt. Diese Datenstruktur bereitet die spätere feldweise Bewegung vor, ohne die Figur bereits automatisch zu bewegen.
Spieler auf Rasterfeld ausrichten
Die Startposition der Figur wird aus Rasterspalte, Rasterzeile und Feldgröße berechnet. Damit passt die Spielfigur erstmals sichtbar zum Rastermodell des Spielfelds.
Rasterposition in Pixelposition umrechnen
Eine Hilfsfunktion berechnet aus Spalte und Zeile die Pixelmitte eines Rasterfelds. Diese zentrale Umrechnung wird anschließend für die Spielerposition verwendet und bildet die Grundlage für weitere Objekte.
Ein-Schritt-Rasterbewegung einbauen
Die Richtungsaktionen verändern die gespeicherte Rasterposition jeweils um ein Feld. Danach wird die Figur mit der Umrechnungsfunktion neu platziert, noch ohne Wandprüfung oder Animation.
Bewegung entprellen
Eine einfache Bewegungssperre verhindert, dass ein gehaltener Richtungsknopf in jedem Frame weitere Schritte auslöst. Erst nach dem Loslassen wird ein neuer Einzelschritt möglich.
Feste Wände vorbereiten
Eine Liste mit festen Wandfeldern wird angelegt und im Raster sichtbar dargestellt. Die Wände blockieren die Bewegung noch nicht, sondern werden zunächst als eigene Spielfeldobjekte eingeführt.
Bewegung gegen Wände sperren
Die Bewegungsregel prüft vor jedem Schritt, ob das Zielfeld in der Wandliste liegt. Der Spieler kann dadurch nur noch auf freie Felder ziehen.
Zerstörbare Blöcke anzeigen
Neben festen Wänden wird eine Liste zerstörbarer Blöcke ergänzt. Diese Felder erhalten eine eigene Darstellung, bleiben aber zunächst ohne Explosions- oder Entfernen-Logik.
Bombe als Datenobjekt platzieren
Bei einer Bombenaktion wird ein Bombeneintrag mit der aktuellen Spielerposition gespeichert. Zunächst ist nur eine Bombe gleichzeitig erlaubt; Sichtbarkeit, Zähler und Explosion folgen später.
Bombe nur einmal pro Tastendruck legen
Eine Bombensperre verhindert, dass ein gehaltener Bombenknopf wiederholt neue Einträge erzeugt. Erst nach dem Loslassen der Aktion wird das Platzieren erneut freigegeben.
Bombe zur Laufzeit sichtbar machen
Vorhandene Bombeneinträge werden während des laufenden Spiels als Figuren gerendert. Die Aufgabe macht deutlich, dass dynamische Objekte nicht nur beim Szenenstart aufgebaut werden können.
Bomben-Zähler ergänzen
Jede Bombe erhält einen zeitlichen Zähler, der mit der Frame-Zeit sinkt. Nach Ablauf wird sie für die Explosion markiert, ohne die Explosion bereits zu zeichnen.
Kreuz-Explosion anzeigen
Aus einer bereiten Bombe entsteht eine kurze Kreuzform aus Explosionsfeldern. Entfernen von Blöcken und Schaden bleiben noch ausgeklammert, damit die Explosionsgeometrie isoliert sichtbar wird.
Blöcke durch Explosion entfernen
Die Explosionsfelder werden mit den zerstörbaren Blöcken verglichen. Nur betroffene Blöcke werden aus der Liste entfernt; feste Wände bleiben unverändert.
Punkte für zerstörte Blöcke anzeigen
Ein Punktewert und eine HUD-Anzeige werden ergänzt. Die Punkte steigen, wenn ein zerstörbarer Block durch eine Explosion verschwindet.
Spielerschaden prüfen
Die Spiellogik prüft, ob die Spielerposition auf einem Explosionsfeld liegt. In diesem Fall wird ein Verluststatus gesetzt und eine einfache Game-Over-Nachricht angezeigt.
Einfachen Gegner ergänzen
Ein Gegner wird als eigenes Rasterfeld angelegt und im Spielfeld dargestellt. Er bewegt sich noch nicht und verursacht noch keinen Schaden, sondern erweitert zunächst das Objektmodell des Spiels.
Levelziel und Siegbedingung hinzufügen
Ein einfaches Ziel wird definiert: Sind alle zerstörbaren Blöcke entfernt, wechselt der Spielstatus auf gewonnen. Eine sichtbare Siegmeldung macht den Abschluss des Levels erkennbar.
Neustart per Taste und Touch
Eine Start- beziehungsweise Restart-Aktion wird mit Tastatur und Touch verbunden. Bei gewonnenem oder verlorenem Status startet ein Tastendruck die Szene sicher neu.
Codeausschnitt
Das Fragment zeigt die vorbereitete Zustandsstruktur und die Stelle, an der Bewegung, Bomben und Regeln später schrittweise ergänzt werden.
| |
Der Baustein unterstützt eine klare Unterrichtsorganisation, weil jede Erweiterung an einem laufenden Projekt ansetzt und überprüfbare Ergebnisse erzeugt. Differenzierung ist über zusätzliche Gegner, Zielbedingungen, Punkte oder Neustartlogik möglich.
Fordern Sie einen Demo-Zugang an und erproben Sie den Baustein im eigenen Kurskontext.