Zum Hauptinhalt springen

Meilenstein 1: Haustier-Spiel

Anforderungen

  • Klasse Haustier (mind. 3 Attribute)
  • mind. 4 Methoden (status, fuettern, spielen, …)
  • Regeln (Grenzen)
  • Menü-Schleife
  • optional: JSON speichern/laden
  • kurze Doku (5 Zeilen)

Beispiellösung (Kern)

Lösung anzeigen
import json

class Haustier:
def __init__(self, name, hunger=5, laune=5, energie=5):
self.name = name
self.hunger = hunger
self.laune = laune
self.energie = energie

def clamp(self):
self.hunger = max(0, min(10, self.hunger))
self.laune = max(0, min(10, self.laune))
self.energie = max(0, min(10, self.energie))

def status(self):
print(f"{self.name} | H={self.hunger} L={self.laune} E={self.energie}")

def fuettern(self):
self.hunger -= 2
self.laune += 1
self.clamp()
print("Fuettern ok")

def spielen(self):
self.laune += 2
self.energie -= 1
self.hunger += 1
self.clamp()
print("Spielen ok")

def schlafen(self):
self.energie += 3
self.clamp()
print("Schlaf gut!")

def to_dict(self):
return {
"name": self.name,
"hunger": self.hunger,
"laune": self.laune,
"energie": self.energie,
}

name = input("Name: ").strip().title()
tier = Haustier(name)
while True:
print("1 status 2 fuettern 3 spielen 4 schlafen 5 ende")
w = input("> ").strip()
if w == "1":
tier.status()
elif w == "2":
tier.fuettern()
elif w == "3":
tier.spielen()
elif w == "4":
tier.schlafen()
elif w == "5":
with open("haustier.json", "w", encoding="utf-8") as f:
json.dump(tier.to_dict(), f, indent=2)
print("Gespeichert. Tschuess!")
break