Kursvorlage
Space Invaders mit frameCraft – Arcade-Spiel Schritt für Schritt
Grundlagen von frameCraft-Spielen mit Space Invaders

Didaktische Zielsetzung
Diese Vorlage führt schrittweise in den Aufbau eines einfachen Space-Invaders-Prototyps mit frameCraft ein. Im Mittelpunkt stehen die fachlichen Kompetenzen, ein Spiel in **Szene, Entities, Collider, Eingaben, Regeln, Zustände und Darstellung** zu strukturieren und diese Elemente systematisch in lauffähigen Code zu überführen. Der Aufbau verbindet **Modellierung und Implementierung**, indem Spielobjekte zunächst als benannte Entities mit Eigenschaften und Zuständen beschrieben und anschließend über Schleifen, Regeln, Kollisionen und Szenenvariablen gesteuert werden. Fachlich ist die Vorlage im Bereich Spieleprogrammierung mit Schwerpunkt auf **strukturierter Spiellogik, objektbezogenem Denken und wiederverwendbaren Mustern** wie Pools, Tags und Zustandsvariablen einzuordnen.
Kompetenzschwerpunkte
Die Vorlage bündelt fachliche und methodische Schwerpunkte des frameCraft-basierten Arcade-Prototyps in aufeinander aufbauenden Programmierbausteinen.
- Spielstruktur verstehen: Fenster, Szene, Szenenaufbau, Entity, Collider und grafische Darstellung werden als Grundbestandteile eines frameCraft-Spiels eingeführt.
- Eingaben modellieren: Tastaturaktionen und virtuelle Touch-Buttons werden über gemeinsame Aktionsnamen gebündelt und in Regeln ausgewertet.
- Bewegung kontrollieren: Horizontale Geschwindigkeit, Randbegrenzung und zeitgesteuerte Schwarmbewegung verdeutlichen kontrollierte Zustandsänderungen im Spielfeld.
- Objektmengen strukturieren: Schüsse und Gegner werden mit nummerierten Namen, Schleifen, verschachtelten Schleifen und Tags als wiedererkennbare Gruppen organisiert.
- Spielmechanik umsetzen: Schuss-Pool, Kollisionen, Punkte, HUD-Anzeige und Trefferverarbeitung führen die zentralen Abläufe des Prototyps zusammen.
- Spielzustände verwalten: Gewinn, Verlust, Neustart, Sperrvariablen und das Zurücksetzen veränderlicher Werte zeigen den Umgang mit globalen Szenenzuständen.
- Darstellung ergänzen: Grafiken aus Grundformen und Explosionen als Effekt-Pool erweitern den Prototyp um sichtbare Rückmeldungen ohne zusätzliche Spiellogik.
Struktur der Bausteine
Die Bausteine führen vom statischen Startbild über Steuerung, Schüsse, Gegner, Kollisionen und Zustände bis zu Neustart und Treffer-Effekten; jeder Schritt erweitert den vorhandenen Prototyp um eine klar abgegrenzte fachliche Funktion.

Lustiges Raumschiff mit frameCraft
Der Einstieg klärt die Grundstruktur aus SPIEL, SZENE, SZENE_AUFBAU, Entity, RECT und GFX und legt ein sichtbares Raumschiff als Ausgangspunkt für den Prototyp an.

Raumschiff mit Buttons steuern
Dieser Baustein ergänzt Tastaturaktionen, virtuelle Buttons, eine Steuerungsregel, vx-Bewegung und Randbegrenzung als erste interaktive Spiellogik.

Einzelnen Schuss ergänzen
Der vorhandene Prototyp wird um ein einzelnes vorbereitetes Projektil erweitert, dessen Aktivierung, Position, vy-Bewegung und Deaktivierung den Grundablauf eines Schusses zeigen.

Mehrere Schüsse mit Pool
Der Einzelschuss wird zu einem Pool aus nummerierten Projektilen ausgebaut, wodurch Schleifen, freie Entities und eine Feuersperre als wiederverwendbares Arcade-Muster eingeführt werden.

Gegnerreihe mit Schleife
Die Vorlage erweitert das Spiel um mehrere Gegner, die mit einer for-Schleife, nummerierten Namen, berechneten Positionen und gemeinsamem Tag systematisch erzeugt werden.

Gegnerschwarm mit Schleifen
Aus der Gegnerreihe entsteht durch verschachtelte Schleifen ein zweidimensionaler Schwarm mit Zeilen, Spalten, berechneten Koordinaten und regelmäßigem Namensschema.

Treffer und Punkte
Kollisionen zwischen Schüssen und Gegnern, das Deaktivieren per alive, Punktwerte in ctx.vars und eine HUD-Anzeige verbinden Objektzustände mit Spielrückmeldung.

Gegnerschwarm gemeinsam bewegen
Die Gegnergruppe erhält eine zeitgesteuerte Schrittbewegung, bei der Schwarmgrenzen bestimmt, Richtungen gespeichert und lebende Gegner gemeinsam verschoben werden.

Spielende in Space Invaders
Dieser Baustein führt Spielzustände, Statusmeldungen, Gewinn- und Verlustbedingungen sowie das Ausblenden des Spielfelds als Abschlusslogik des Prototyps zusammen.

Space Invaders: Sauber neu starten
Der Neustart-Baustein zeigt, wie Eingabeaktion, Sperrvariable, NEUSTART und explizite Startwerte für Variablen und Entities zu einem robusten Reset zusammenspielen.

Treffer-Explosion ergänzen
Abschließend ergänzt ein Effekt-Pool kurze Explosionen mit Restzeit, ctx.dt und animierter GFX, ohne die bestehende Treffer- und Punktelogik zu verändern.
Inhalte im Überblick
Die folgende Übersicht fasst die aus der Vorlage ableitbaren Rahmendaten und fachlichen Bestandteile zusammen.
| Aspekt | Einordnung |
|---|---|
| Kategorie | frameCraft |
| Programmiersprache | Python 2 |
| Bausteine | 11 |
| Gesamtdauer | 213 min |
| Zentrale Inhalte | Spiel-Fenster, Szene, Entity, Collider, Grafik, Steuerung, Schüsse, Gegner, Kollisionen, Punkte, Spielzustände, Neustart und Explosionen |
| Unterrichtlicher Fokus | Schrittweiser Aufbau eines Space-Invaders-Prototyps mit strukturierter Spiellogik |
Die Bausteine machen Lernziele und Zwischenschritte transparent und lassen sich gut an Unterrichtsreihen zur frameCraft-Programmierung anschließen. Der Kompetenzaufbau reicht von der Grundstruktur eines Spiels bis zur Verknüpfung von Eingabe, Objektgruppen, Kollisionen und Zuständen.
Über den Demo-Zugang können Sie die Vorlage erproben und die einzelnen Bausteine passend zu Ihrer Lerngruppe auswählen oder anpassen.