Zum Hauptinhalt springen

Höhlenforscher

Kümmern wir uns nun also um die ominöse Höhle. Wir erstellen also eine neue Funktion für diese Szene (ab Zeile 4), verschieben den einleitenden Satz da hinein (Zeile 5), und ersetzen ihn mit dem Aufruf dieser neuen Funktion (Zeile 19). Soweit nichts Neues, und auch sonst machen wir hier fast genau das gleiche wie vorhin bei der fluss()-Funktion.

Einziger Unterschied: Wir lassen das Spiel hier enden. Wenn der Spieler mit der Auswahl ja die Höhle betritt, dann hat er gewonnen (Zeilen 7-8). Tippt er irgendetwas anderes als ja, so hat er das Spiel verloren (Zeilen 9-10). Der Einfachheit halber unterscheiden wir hier nicht zwischen einem expliziten nein und einer ungültigen Eingabe — verloren ist verloren, wenn er nicht die Höhle betritt.

def ungueltige_wahl():
print("Ungültige Wahl! Spiel vorbei!")

def hoehle():
print("Du siehst eine Höhle vor dir.")
auswahl = input("Möchtest du die Höhle betreten? (ja/nein): ")
if auswahl == "ja":
print("Du hast den Schatz gefunden! Herzlichen Glückwunsch, du gewinnst!")
else:
print("Du hast beschlossen, die Höhle nicht zu betreten und den Schatz verpasst. Spiel vorbei!")

def fluss():
print("Du stösst auf einen Fluss. Du kannst schwimmen oder eine Brücke suchen.")
auswahl = input("Was möchtest du tun? (schwimmen/brücke): ")
if auswahl == "schwimmen":
print("Du wurdest von einem Krokodil angegriffen! Spiel vorbei!")
elif auswahl == "brücke":
print("Du hast eine versteckte Brücke gefunden und den Fluss sicher überquert.")
hoehle()
else:
ungueltige_wahl()

print("Willkommen beim Schatzsuche-Spiel!")
print("Du befindest dich in einem Wald. Du musst den versteckten Schatz finden.")
print("Du stehst an einer Wegkreuzung. Du kannst nach links, rechts oder geradeaus gehen.")

auswahl = input("In welche Richtung möchtest du gehen? (links/rechts/geradeaus): ")
if auswahl == "links":
fluss()
elif auswahl == "rechts":
print("Du begegnest einem Rudel Wölfe. Du kannst entweder rennen oder versuchen, sie zu zähmen.")
elif auswahl == "geradeaus":
print("Du gehst geradeaus und triffst auf eine Riesenspinne.")
else:
ungueltige_wahl()

Und somit haben wir praktisch schon ein fertiges Spiel: Der Spieler kann gewinnen und er kann verlieren. Es fehlen nun einzig noch die anderen Spielpfade — die Wölfe und die Riesenspinne — welche wir im nächsten Kapitel ergänzen werden.