Meilenstein 2: Objektspiel
Anforderungen
- mind. 2 Klassen (z. B. Held + Gegner, oder Tier + Gehege)
- Objekte interagieren (Methode mit anderem Objekt)
- Schleife (Runden oder Menü)
- Gewinn/Ende-Bedingung
- Vererbung oder Turtle oder JSON (mind. eines)
- Präsentation 5 Min
Ideen
- Kampf: Held.treffe(gegner)
- Tierheim mit Hund/Katze (Vererbung)
- Turtle-Rennen mit zwei Objekten
- Shop: Kunde + Produkt
Beispiellösung (Kampf-Kern)
Lösung anzeigen
class Wesen:
def __init__(self, name, leben):
self.name = name
self.leben = leben
def lebt(self):
return self.leben > 0
def treffe(self, anderer, schaden):
anderer.leben -= schaden
print(f"{self.name} trifft {anderer.name} (-{schaden})")
class Held(Wesen):
def heilen(self):
self.leben += 2
print(f"{self.name} heilt auf {self.leben}")
class Gegner(Wesen):
pass
held = Held("Luna", 12)
gegner = Gegner("Buggy", 10)
runde = 1
while held.lebt() and gegner.lebt() and runde <= 10:
print(f"--- Runde {runde} ---")
held.treffe(gegner, 3)
if gegner.lebt():
gegner.treffe(held, 2)
if runde % 3 == 0:
held.heilen()
runde += 1
if held.lebt() and not gegner.lebt():
print("Sieg!")
elif not held.lebt():
print("Niederlage...")
else:
print("Zeit abgelaufen.")
Band 5 Abschluss
Du kannst jetzt:
- Klassen und Objekte bauen
- Methoden und Zustände steuern
- Vererbung nutzen
- mit Turtle zeichnen
- ein eigenes Objekt-Projekt präsentieren
Das ist der Sprung von „Skripten“ zu modellierten Welten.