Zum Hauptinhalt springen

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.