**Dies ist eine alte Version des Dokuments!**
Asteroids Game
Ziel:
- Asteroiden Game in verschiedenen Versionen Programmieren …
- … auf verschiedenen Plattformen.
- Code optimal Modellieren
- Model vs. View
Version 1: Challenge
Programmiere das Game Asteroids in einer einfachen Version in 45 Minuten: zu
- Spieler:in steuert Player (heller Pixel in unterster Reihe) mit Knöpfen
- Jeweils ein Asteroid (etw. weniger heller Pixel) fliegt von oben nach unten
- Player muss Asteroid ausweichen. Kollidiert dieser, ist Game Over!
- Erreicht Asteroid unteres Ende, wir ein neuer Asteroid in oberster Reihe an zufälliger $x-$Position erzeugt
- Speichere regelmässig!
- Hauptziele:
- Das Spiel muss funktionieren (auch wenn es noch nicht perfekt ist)
- Du hast es ganz alleine programmiert (siehe Spielregeln unten)
Spielregeln:
- Erlaubt:
- Internet-Suche zu allg. Fragen bzgl. Programmierung & Micro:bit
- Lehrperson fragen zu allg. Fragen
- nicht erlaubt:
- Austausch mit echten und künstlichen Intelligenzen (also kein ChatGPT, Ausnahme: Lehrperson)
- Internet-Suche zu Spiel-spezifischen Fragen (z.B. auf diesem Wiki)
Nach Challenge:
- Erstelle neues Repo auf GitHub mit Name
asteroids_game
. - Gebe der LP (anschae) frei
- Füge dein Game mit Name
asteroids_v01.py
hinzu: add / commit / push
Version 2
Mache Kopie von Game und speichere unter Namen asteroids_v02.py
. Verbessere nun dieses mithilfe der Tipps unten.
Version 3
Ziel: Code sauber strukturieren.
Mache Kopie von der letzten Version des Games und speichere es unter dem Namen asteroids_v03.py
. Verbessere das Game nun dieses mithilfe der Tipps unten. Falls du unzufrieden mit deine alten Version bist, kannst du auch mit einem leeren File beginnen und alles neu programmieren.
- Code sauber strukturieren wie in Template unten
- Kommentare hinzufügen: für Überschriften (wie in Vorgabe) und Erklärungen (nicht zu viel, nicht zu wenig) auf Englisch (höherer Lässigkeitsfaktor, ähm coolness factor!)
- Alle Wert, die sich nicht verändern (quasi die Game-Settings) werden in KONSTANTEN am Anfang des Spiels gespeichert.
Version 4
Ziel: Weitere Features implementieren.
Mache eine Kopie von der letzten Version v03 und nenne sie asteroids_v04.py
. WICHTIG: Bespreche deine Lösung von v03 mit der Lehrperson, bevor du weiter arbeitest.
Implementiere nun folgende Features:
- Game wird schneller mit der Zeit. Probiere verschiedene Einstellungen aus, Stichwort: Game-Balancing
- Game Over:
- zeigt z.B. SAD oder ANGRY-Smiley an
- zeigt Score an: definiere dazu eine Art Levels (z.B. für jede weiteren 10s, die man überlebt, steigt Level um 1
- kann dann Taste drücken, um Game neu zu starten
- Tipp: Mache zuerst einen Plan dazu, wie du das umsetzen kannst. Beginne erst nachher mit Programmieren.