Хорошо,
Итак, я сейчас работаю над простым текстовым RPG (на Python). Но по какой-то причине одной из моих функций является странное чтение входных данных.
Прямо сейчас каждая комната в подземелье - это отдельная функция. Вот комната, которая не работает:
def strange_room():
global fsm
global sword
global saw
if not fsm:
if not saw:
print "???..."
print "You're in an empty room with doors on all sides."
print "Theres a leak in the center of the ceiling... strange."
print "In the corner of the room, there is an old circular saw blade leaning against the wall."
print "What do you want to do?"
next6 = raw_input("> ")
print "next6 = ", next6
if "left" in next6:
zeus_room()
elif "right" in next6:
hydra_room()
elif "front" or "forward" in next6:
crypt_room()
elif ("back" or "backwad" or "behind") in next6:
start()
elif "saw" in next6:
print "gothere"
saw = True
print "Got saw."
print "saw = ", saw
strange_room()
else:
print "What was that?"
strange_room()
if saw:
print "???..."
print "You're in an empty room with doors on all sides."
print "Theres a leak in the center of the ceiling... strange."
print "What do you want to do?"
next7 = raw_input("> ")
if "left" in next7:
zeus_room()
elif "right" in next7:
hydra_room()
elif "front" or "forward" in next7:
crypt_room()
elif ("back" or "backwad" or "behind") in next7:
start()
else:
print "What was that?"
strange_room()
Моя проблема в том, чтобы получить мой вклад. Эта функция выполняется вплоть до строки 17. Кажется, что ввод в первый раз происходит, но оператор print для печати ввода не выполняется. Кроме того, правильно работают только команды left, right и front / forward. Все остальное, что я набираю, выполняет только функцию crypt_room (), которую должны выполнить «front» / «forward».
Спасибо.