Привет, я только начинаю с Python 2 и программирование в целом и решил сделать текстовое приключение для немного но я полностью застрял на титул.Python: как я могу вернуть функцию как True и применить ее к более ранней функции для изменения оператора true/false
Это код, который до сих пор полностью угадывал весь True/False, но то, что я пытаюсь выработать, - это когда вы вводите «view_room», вы сталкиваетесь с запертой дверью, но если вы идете в «lab_room» и получить ключ от тела, который вы можете открыть. Я пытаюсь сделать так, чтобы заблокированная дверь была ложной, но когда вы берете ключ-карту, она меняется на True, и дверь становится разблокированной. Я благодарю за помощь!
prompt = "> "
decision = "What do you do?"
not_assigned = "Say wa?"
def engine_room():
print "You are in a dark room with the sound of moaning engines."
print "You see a corridor to your left and one to your right and an elevator straight ahead of you."
print decision
choice = raw_input(prompt)
if choice == "go left":
viewing_room()
elif choice == "go right":
right_corridor_dead_end()
elif choice == "use elevator":
print "you get in the elevator and go up."
main_hallway()
else:
print not_assigned
engine_room()
def right_corridor_dead_end():
print "You walk down the corridor only to be blocked by a collapsed ceiling."
print decision
choice = raw_input(prompt)
if choice == "go back":
engine_room()
else:
print not_assigned
def viewing_room():
print "You walk down the corridor and enter and a large room with a window covering the size of the wall."
print "Straight ahead is another door"
print decision
choice = raw_input(prompt)
if search_body() == False:
if choice == "open door":
print "The door is locked"
viewing_room()
elif choice == "go back":
engine_room()
else:
print not_assigned
if search_body() == True:
if choice == "open door":
print "The door opens you walk through"
storage_room()
else:
print not_assigned
viewing_room()
def main_hallway():
print "You enter a large brightly lit room with 3 rooms connected to it and another elevator straight ahead."
print "The rooms are named, the two on the left are the armoury and lab rooms and to the right are the cabins."
print decision
choice = raw_input(prompt)
if choice == "go to lab room":
lab_room()
elif choice == "go back":
engine_room()
def lab_room():
print "You enter the lab room which is cluttered with unexplainable machines."
print "To the back of the room you see the dead body of a man with no obvious cause"
print "He might have something useful on him"
print decision
choice = raw_input(prompt)
if choice == "search body":
search_body()
elif choice == "go back":
main_hallway()
def search_body():
print "You find a keycard that says 'storage' on it."
return True
lab_room()
engine_room()
'lab_room()' недопустим в 'search_body' после вашего оператора возврата –
Вы должны взглянуть на класс вместо функций. – EL3PHANTEN
Необходимо как-то сохранить состояние. Обычно это делается с объектами, и это действительно яркий пример использования объектно-ориентированного программирования. Посмотрите на ООП в Python. –