Python Text adventure erstellen (hilfe)?
Guten Tag,
ich probiere gerade ein Text Adventure zu erstellen, zurzeit benutze ich nur
if, elif und else Befehle
ich merke gerade das es wahrscheinlich mit anderen Befehle kürzer gehalten werden könnte.
Wenn man z.B. zum "markt" geht und dann wieder zur hütte, das ich diesen text nicht erneut ein if Befehl machen muss
("Sie befinden sich in Ihrer Hütte, wo wollen Sie hin?/ küste/markt ").lower().strip()
hütte = input("Sie befinden sich in Ihrer Hütte, wo wollen Sie hin?/ küste/markt ").lower().strip()
if hütte == "küste":
print("Sie gehen zur Küste und betrachten Ihr kleines Boot, Ihr kleines Boot kann", boot, "Fische transportieren")
angeln = input("Wollen Sie angeln gehen?/ ja/nein")
Hoffe ihr versteht ungefähr was ich meine :-/ Vielen Dank
3 Antworten
Hallo,
Alle Fragen müssen doch eine Kette der möglichen Antworten durchlaufen. Immer wenn eine Abfrage gemacht wird. Dazu kann man auch das switch case benutzen.
Ich weiss jetzt nicht wie man in Python eine Aufzählung darstellt, aber die könnte man auch gebrauchen
LG
Harry
Ich glaube ich würde es mit einer Statemachine lösen.
state = position
position = "zuhause"
while True:
if position == "zuhause":
moeglicheZiele = ["huette", "bootshaus", "toilette"]
ziel = None
while ziel not in moeglicheZiele:
ziel = input(f"Sie befinden sich in Ihrer Hütte, wo wollen Sie hin?\n {moeglicheZiele} ").lower().strip()
#ziel ist in moeglicheZiele:
position = ziel
if position == "huette":
pass
if position == "bootshaus":
pass
Mit ein paar Zeilen mehr ermöglichen dir festzulegen was passiert, wenn man eine Position verlässt und eine andere erreicht.
Vielen Dank für dieses Beispiel, hat mein Problem gelöst :)
Ich würde dir tatsächlich raten anstatt den User die Aktion schreiben zulassen, mit Zahlen zu arbeiten. Dieses Prinzip kannst du auch mehrfach verwenden und beliebig anpassen an die aktuelle Situation.