2016-05-12 3 views
0

Я пытаюсь создать игру, в которой вы проходите через лабиринт, и пытаетесь убежать от голоса, но каждый раз, когда игрок говорит неправильный ответ на один из вопросов, который он говорит «Игра над», но затем осуществляет, где он хранится прочь, я пробовал много вещей, и исследовал, но я не могу показаться, чтобы понять это, я только начинающийPython Maze Проблема с продуктом

`

время импорта импорта ОС

print ("Your adventure starts as a young boy, running away from home becuase you're a rebel") 
    time.sleep(2) 
    print ("You find the famous labyrinth, do you go in?") 
    time.sleep(2) 
    answer = input("Make your choice, Yes OR No") 
    time.sleep(2) 
    print ("The answer",answer ,"got you stuck in a hole") 
    time.sleep(2) 
    print ("But you find a secret passage") 
    answer = input("Do you go through the door, Yes or No?") 
    if answer == "No": 
      time.sleep(2) 
      print ("Game Over.") 
    elif answer == "Yes": 
     time.sleep(2) 
     print("You hear a strange voice") 
     time.sleep(2) 
    answer = input("What do you say to the Voice, Hello or Who are you?") 
    if answer == "Hello": 
     print ("Hello") 
    elif answer == "Who are you?": 
     print ("Im your worst nightmare") 
    time.sleep(2) 
    print("You try and escape the labyrinth and turn a large gate with a gnome on the over end") 
    answer = input("Do you open the gate, Yes Or No?") 
    if answer == "Yes": 
     time.sleep(3) 
     print ("Game Over, you get brutally killed by a gnome, good job") 
     os._exit(0) 
    elif answer == "No": 
     time.sleep(3) 
     print ("You go the other way and see a light at the end of the tunnel") 
    answer = input("You see your family outside crying and waiting for you, do you go with them?") 
    if answer == "Yes": 
     print("You have a nice ending and you're sorry you ran away") 
     print("You have been graded: ") 
    elif answer == "No": 
     print("God smites you for being stupid.") 

     os._exit(0)` 
+1

К сожалению, если код слишком беспорядочно, надеюсь, у вас есть время его прочитать. – AGAC

+1

Вы можете использовать некоторую работу по организации. Используйте пробелы (чрезмерно при необходимости). – Jerrybibo

+0

Полностью согласен с чуваком, был в спешке, чтобы сделать это, у вас не так много времени, просто хобби lol – AGAC

ответ

2

этот блок, например

print ("But you find a secret passage") 
answer = input("Do you go through the door, Yes or No?") 
if answer == "No": 
     time.sleep(2) 
     print ("Game Over.") 
elif answer == "Yes": 
    time.sleep(2) 
    print("You hear a strange voice") 
    time.sleep(2) 
# continuation 

Если пользователь вводит «Нет», он напечатает «Game Over», который, как я полагаю, является правильным. Тем не менее, поток управления в программе продолжается после блока if/else. Что вам нужно сделать, это выйти из программы, используя что-то вроде sys.exit() или убедитесь, что ваш поток управления имеет только пути вперед, если это необходимо, то есть упаковка, что произойдет дальше в truthy части if/else блока

if answer == "No": 
     time.sleep(2) 
     print ("Game Over.") 
elif answer == "Yes": 
    time.sleep(2) 
    print("You hear a strange voice") 
    time.sleep(2) 

    # put continuation here 
+2

Или, наоборот, добавьте оператор 'return' после' print ("Game Over.") ';) – alfasin

+0

Спасибо, верните это хорошая идея, тестирование сейчас – AGAC

+0

Работает, отличная работа. Я был глупым ахахом – AGAC

Смежные вопросы