Ziel:
Programmiere das Game Asteroids in einer einfachen Version in 45 Minuten: zu
Spielregeln:
Nach Challenge:
asteroids_game
.asteroids_v01.py
hinzu: add / commit / push
Mache Kopie von Game und speichere unter Namen asteroids_v02.py
. Verbessere nun dieses mithilfe der Tipps unten.
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.
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:
Ziel: beliebig viele, unabhängige Asteroiden
Mache eine Kopie von der letzten Version und nenne sie asteroids_v05.py
.
Slides: Model vs. View
Nun geht es in die finale Phase! Ziel ist, zuerst ein komplett abstraktes Modell des Games zu erstellen. Dieses soll dann genutzt werden, um verschiedene Versionen des Spiels zu erstellen:
Lasse (zumindest für den Anfang) allen Schnick-Schnack weg: kein Score, kein Restart, … einfach nur 1x das Game spielen bis zu einer Collision
In deinem Repo sollst du dann (zusätzlich zu den bisherigen Files) vier neue Files haben:
asteroids_game_model.py
: Beinhaltet das Modell und damit die ganze Logik des Spiels. Wird von den anderen Files importiert.asteroids_game_microbit.py
: Kümmert sich ausschliesslich um die View auf dem Microbitasteroids_game_console.py
: Kümmert sich ausschliesslich um die View in der Konsoleasteroids_game_pyqt.py
: Kümmert sich ausschliesslich um die View auf der Desktop Appasteroids_model.py
.Asteroid
und Player
beinhalten.Game
, die das gesamte Game beinhaltet. Halte dich dabei an die Vorgaben im Template unten.print()
, display...
usw. enthalten.self.brightness
haben, da diese zur View gehört: Stellt man Asteroiden in einer Desktop-App dar, haben sie vielleicht eine Farbe oder ein Bild anstelle einer brightness.get_time_in_ms()
im Template.main.py
).asteroids_game_model.py
und füge dort deinen Code vom Teil I ein. Wenn du dort alles richtig gemacht hast, musst du in diesem File gar nichts mehr anpassen. Falls du dies musst, übernehme die Änderungen auch im File auf dem Computer. Es ist wichtig, dass diese beiden immer identisch sind.main.py
-File deine Game-Klasse (siehe Template unten) …asteroids_game_microbit.py
asteroids_game_console.py
.asteroids_game_pyqt.py
.Wandle deine Desktop-App-Version in ein richtig cooles Game: