Unterrichtsbaustein · Detail

Frogger: Autos datengetrieben erzeugen

Der Baustein führt in datengetriebene Spielstrukturen ein, bei denen mehrere Gegner automatisch aus einer Datenliste erzeugt werden. Dadurch wird sichtbar, wie Modellierung und Implementierung zusammenwirken, um wiederkehrende Spielobjekte systematisch zu generieren.

Zeit 35 min
Format frameCraft
Sprache Python 2
Aufgaben 1
Vorschaubild: Frogger: Autos datengetrieben erzeugen

Einführung (Originalauszug)

Du baust die Auto-Gegner nicht mehr per Copy-Paste, sondern datengetrieben: Eine Liste beschreibt die Spuren (Y-Position, Geschwindigkeit, Farbe) und mit enumerate und einem klaren Namensschema werden daraus automatisch viele Entities erzeugt.

Didaktische Einordnung

Fachliche Zielsetzung

Der Baustein führt in das Prinzip des datengetriebenen Programmierens ein. Statt einzelne Objekte manuell anzulegen, werden Spielobjekte aus strukturierten Daten generiert. Zentrale Konzepte sind Listenstrukturen, Tupel, Schleifen und konsistente Namenskonventionen. Dadurch wird sichtbar, wie eine abstrakte Modellbeschreibung – hier die Datenstruktur für Fahrspuren – direkt in eine automatisierte Objektgenerierung überführt werden kann. Darüber hinaus wird die Anpassung bestehender Bewegungslogik thematisiert, sodass Regeln systematisch mehrere Objekte anhand eines Namensschemas verarbeiten können. Der Baustein verdeutlicht somit die Verbindung zwischen Datenmodell, Algorithmusstruktur und skalierbarer Implementierung.

Kompetenzentwicklung

Didaktischer Mehrwert im Unterricht

Ablauf der Unterrichtseinheit

1

Spurenliste + Auto-Erzeugung + Bewegungsregel

In diesem Schritt wird ein datengetriebenes Modell für gegnerische Fahrzeuge aufgebaut. Dazu wird zunächst eine Datenliste für Fahrspuren definiert und anschließend eine Funktion implementiert, die mehrere Autos automatisch erzeugt. Abschließend wird die Bewegungsregel so angepasst, dass alle Fahrzeuge anhand eines systematischen Namensschemas iterativ verarbeitet werden können.

  • Datenmodellierung und automatisierte Objektgenerierung
  • Typische Herausforderung: konsistente Namensschemata und korrekte Schleifenstruktur

Arbeitsauftrag (Auszug)

1. Legen Sie eine Konstante für die Anzahl der Autos pro Spur fest. 2. Definieren Sie eine Datenliste für die Fahrspuren mit Y-Position, Geschwindigkeit und Farbe. 3. Implementieren Sie eine Funktion zur automatischen Erzeugung der Autos pro Spur. 4. Rufen Sie diese Funktion im Szenenaufbau mithilfe von enumerate für jede Spur auf. 5. Passen Sie die Bewegungsregel so an, dass alle Autos anhand des Namensschemas iterativ bewegt werden.

Beispiel (Ausschnitt)

Das folgende Fragment zeigt, wie ein konsistentes Namensschema für automatisch erzeugte Fahrzeuge gebildet wird.

1
2
3
4
5
6
7
car_spacing = window_width // NUM_AUTOS
for index in range(NUM_AUTOS):
    car_name = "auto_" + str(lane_index) + "_" + str(index)
    start_x = (index * car_spacing + lane_index * 28 + 20) % window_width
    OBJEKT(car_name, pos=(start_x, lane_y), tag="auto")
    RECHTECK(car_name, AUTO_WIDTH, AUTO_HEIGHT, ausloser=True)
    GESCHWINDIGKEIT(car_name, vel_x, 0)

Das Beispiel verdeutlicht, wie aus einer Datenstruktur mehrere Spielobjekte systematisch erzeugt werden.

Hinweise für die Unterrichtspraxis

Dieser Baustein zeigt, wie strukturierte Datenmodelle systematisch in automatisierte Spielobjekte übersetzt werden und damit komplexere Spielmechaniken ermöglichen.

Die klar strukturierte Aufgabenabfolge unterstützt eine transparente Unterrichtsorganisation und erleichtert die Sicherung der erzielten Ergebnisse. Differenzierung kann über zusätzliche Dateneinträge oder Erweiterungen der Bewegungslogik erfolgen.

Fordern Sie einen Demo-Zugang an und erproben Sie den Baustein im eigenen Kurskontext.