Я уже месяц учусь кодировать с помощью учебника «Learn Python The Hard Way». Пока это было очень весело. Я бросил себе вызов в создании текстовой RPG-игры.
В настоящее время я переписываю код для улучшения читабельности и обслуживания.
Я столкнулся с проблемой:
Если Я добавляю метод split (), тогда условия
elif "open door" == choice:
elif "search door" == choice:
больше не выполняются.
Я получаю
print "Invalid"
для "открытой двери" == выбор
и
print "You find nothing."
для "поисковой двери" == выбор
В основном это означает, что он переходит к операторам else:
I ' Я хотел бы использовать метод split (), чтобы при наличии соответствующего ввода, но с добавлением текста, присоединенного к условному слову, например, «kegaasoaosij» вместо «keg», условие не выполнялось.
В идеале я бы добавил файл словаря, чтобы поиск с бессмысленными словами не производил:
print "You find nothing."
Но это для другой сессии ...
Любые идеи о том, как решить эту проблему? Приветствуются любые другие улучшения.
Спасибо за помощь!
prison_key = False
def test():
global prison_key
curr_prompt = "What do you do?"
print curr_prompt
choice = raw_input("> ").lower().split()
while "quit" not in choice:
if "go" in choice:
if "cellar" in choice:
print "cellar"
elif "gravel" in choice or "path" in choice:
print "gravel path"
elif "prison" in choice and prison_key:
print "You enter the prison."
elif "prison" in choice:
print "The door is locked."
else:
print "Invalid"
elif "search" in choice:
if "search" == choice:
print "invalid"
elif "prison":
print "The door is closed."
elif "bucket" in choice:
print "The bucket is empty."
elif "keg" in choice:
prison_key = True
print "You find a key."
elif "door" in choice and ("heavy" in choice or "steel" in choice or "metal" in choice):
print "It looks like a prison door"
elif "search door" == choice:
print "Which one?"
else:
print "You find nothing."
elif "open door" == choice:
print "which one?"
elif "open" in choice:
if "door" in choice and ("wooden" in choice or "cellar" in choice):
print "gravel path"
elif "door" in choice and ("steel" in choice or "metal" in choice or "heavy" in choice or "prison" in choice) and prison_key:
print "You open the prison"
elif "door" in choice and ("steel" in choice or "metal" in choice or "heavy" in choice or "prison" in choice):
print "the door is locked"
elif "prison" in choice and prison_key:
print "You enter the prison."
elif "prison" in choice:
print "the door is locked."
else:
print "invalid"
elif "drink" in choice and "wine" in choice:
print "You alcoholic."
else:
print "invalid"
print curr_prompt
choice = raw_input("> ").lower().split()
exit(0)
test()