Python lernen, indem du ein Spiel baust

Die meisten Anfänger hören mit Python auf, weil sich die Übungen sinnlos anfühlen: einen Satz ausgeben, zwei Zahlen addieren, und alles wieder vergessen. Ein Projekt ändert das, denn jede neue Idee bewirkt etwas, das du sehen kannst. In Python DailyDrills beginnst du mit Pip, einem Roboter, dessen Systeme alle offline sind. Jedes Kapitel endet mit einer Mission, in der dein eigener Code einen weiteren Teil des Spiels zum Leben erweckt.

Deine erste Zeile gibt Pip eine Stimme

In der ersten Lektion kann Pip nicht sprechen. Du behebst das mit print(). Wenn du das Spiel öffnest, sagt Pip, was dein Code ausgegeben hat. Der Punkt ist: Das Spiel ist keine Dekoration. Es führt deinen Code aus.

print("Hello, I am Pip!")

Ausgabe:

Hello, I am Pip!

Bedingungen geben Pip Beine

Pip läuft so lange ins Meer, bis du can_move() schreibst. Das Spiel ruft deine Funktion bei jedem Schritt auf: Wasser und Mauern sagen nein, alles andere sagt ja. So werden if-Anweisungen und Rückgabewerte greifbar.

def can_move(tile):
    return tile not in ("water", "wall")

print(can_move("grass"))
print(can_move("water"))

Ausgabe:

True
False

Dictionarys lassen die Maschinen sprechen

Die Maschinen der Insel sagen genau das, was dein Dialog-Dictionary enthält. Wenn du eine Textzeile in deinem Code änderst, ändert sich, was sie im Spiel sagen.

dialogue = {"villager": "Welcome!", "mechanic": "Bring me scrap."}
print(dialogue["mechanic"])

Ausgabe:

Bring me scrap.

Klassen bauen den Glitch, gegen den Pip kämpft

Im Kapitel zu Klassen schreibst du die Klasse Glitch, die der Kampf verwendet: Trefferpunkte, Schaden nehmen und erkennen, wann er besiegt ist. Jeder Angriff im Spiel ruft deine Methode auf.

class Glitch:
    def __init__(self, hp):
        self.hp = hp

    def take_hit(self, damage):
        self.hp = max(0, self.hp - damage)

glitch = Glitch(12)
glitch.take_hit(4)
print(glitch.hp)

Ausgabe:

8

Behalte das Spiel, das du gebaut hast

Am Ende kannst du das Spiel als ZIP-Datei herunterladen. Sie enthält deinen eigenen Code, eine Datei pro Mission, dazu eine kleine Engine zum Ausführen: python play.py im Terminal oder play.html im Browser öffnen. Der Download wird in deinem Browser erstellt, und dein Code geht nie an einen Server.

Häufige Fragen

Brauche ich Vorkenntnisse, um anzufangen?
Nein. Die erste Lektion beginnt bei print(), und jedes Konzept wird mit kleinen Übungen eingeführt, bevor die Mission kommt, die es nutzt.
Ist es ein echtes Spiel oder nur ein Rätsel?
Es ist ein kleines Spiel aus der Vogelperspektive: Du läufst mit den Pfeiltasten mit Pip über eine Insel, reparierst Maschinen, scannst Sensoren und kämpfst gegen einen Glitch. Jede Fähigkeit existiert nur, weil du den Python-Code dafür geschrieben hast.
Läuft mein Code auf euren Servern?
Nein. Python läuft in deinem Browser, und dein Missionscode wird nur in deinem Browser gespeichert. Das herunterladbare Spiel wird ebenfalls auf deinem Computer erstellt.

Übe es