Python Neuling benötigt hilfe bei kleinem Textadventure
Verfasst: Freitag 13. Juli 2018, 14:18
ich habe in einer roomlist.py alle Räume in einem mehrdimensionalen Dictionary (rooms).
13 : { "name" : "13" ,
"north" : 7,
"south" : 19 } ,
14 : { "name" : "14" ,
"north" : 8,
"south" : 20,
"east" : 15,
"info" : "spinne",
"enemy_name" : "höhlenspinne",
"enemy_hp" : 70,
"enemy_ap" : 10,
"enemy_inv" : "gift",
"solved" : False} ,
ich navigiere mit:
move = input(">").lower().split()
move.append("EOI")
if move[0] == "go":
if move[1] in rooms[currentRoom]:
currentRoom = rooms[currentRoom][move[1]]
die komplette Steuerung funktioniert einwandfrei auch meine get Anweisungen sowie meine Kanmpf Funktion klappen prima.
Nur bei einer Sache komme ich nicht weiter und vielleicht kann mir hier jemand weiterhelfen.
Folgendes hatte ich mir gedacht und gewünscht: Wenn in meinem Raum 8 eine Aufgabe erledigt wurde kann ich dort "solved" auf True stellen (das bekomme ich auch hin), wenn ich nun in currentRoom = 14 bin und von dort mit go east nach Raum 15 wechseln möchte soll dies erst möglich sein wenn die Quest in Raum 8 erledigt ist. Jetzt bitte nicht auslachen bin wirklich noch ganz frisch dabei.
ich hatte es versucht über:
if (rooms[currentRoom] == 14 and (rooms[8] not in solved_rooms) and (move[0] == "go" and (move[1] in rooms[currentRoom]):
dann ein print(".....")
dies und andere Dinge habe ich schon probiert alles erfolglos egal was ich mache, der Raumwechsel wird trotzdem durchgeführt
Hoofe das dies (mein erster Post) nicht zu banal ist und mir jemand weiterhelfen kann.
13 : { "name" : "13" ,
"north" : 7,
"south" : 19 } ,
14 : { "name" : "14" ,
"north" : 8,
"south" : 20,
"east" : 15,
"info" : "spinne",
"enemy_name" : "höhlenspinne",
"enemy_hp" : 70,
"enemy_ap" : 10,
"enemy_inv" : "gift",
"solved" : False} ,
ich navigiere mit:
move = input(">").lower().split()
move.append("EOI")
if move[0] == "go":
if move[1] in rooms[currentRoom]:
currentRoom = rooms[currentRoom][move[1]]
die komplette Steuerung funktioniert einwandfrei auch meine get Anweisungen sowie meine Kanmpf Funktion klappen prima.
Nur bei einer Sache komme ich nicht weiter und vielleicht kann mir hier jemand weiterhelfen.
Folgendes hatte ich mir gedacht und gewünscht: Wenn in meinem Raum 8 eine Aufgabe erledigt wurde kann ich dort "solved" auf True stellen (das bekomme ich auch hin), wenn ich nun in currentRoom = 14 bin und von dort mit go east nach Raum 15 wechseln möchte soll dies erst möglich sein wenn die Quest in Raum 8 erledigt ist. Jetzt bitte nicht auslachen bin wirklich noch ganz frisch dabei.
ich hatte es versucht über:
if (rooms[currentRoom] == 14 and (rooms[8] not in solved_rooms) and (move[0] == "go" and (move[1] in rooms[currentRoom]):
dann ein print(".....")
dies und andere Dinge habe ich schon probiert alles erfolglos egal was ich mache, der Raumwechsel wird trotzdem durchgeführt
Hoofe das dies (mein erster Post) nicht zu banal ist und mir jemand weiterhelfen kann.