Переменный результат результат даже после того, как он был изменен - PullRequest
0 голосов
/ 28 февраля 2020

Я делаю текстовую приключенческую игру, и у меня есть переменная, содержащая текущее местоположение игрока. За пределами l oop написано location = b1. В l oop местоположение может измениться. Тем не менее, даже после того, как он был изменен, сценарий по-прежнему печатает описание для обоих местоположений - сначала новое местоположение, затем снова старое. Расположение меняется после того, как игрок наберет «север».

location = b1
while alive:
    if location == b1:
        print("b1 location description")
        print("There is a door to the north and south.")
        print(idleActions)
        action = input("What would you like to do? ")
        if action == north:
            location = ha1
        if action == south:
            location = a1
        if action == west:
            print("To the west there is just a wall with paintings.")
        if action == east:
            print("east wall description")
        if action == inspect:
            print("What would you like to inspect?")
        if action == inspect + painting:
            print("painting stuff")
            print("painting stuff")


    if location == ha1:
        print("ha1 stuff")
        print("more ha1 stuff")

1 Ответ

0 голосов
/ 28 февраля 2020

Если я правильно следую логике игры c, запрос на ответ должен быть вне проверки if. Ниже воспроизводимого примера я изменил переменные на литералы просто для проверки:

alive = 1
location = 'b1'
action = 'no_action_yet'
while alive:
    if location == 'b1':
        print("b1 location description")
        print("There is a door to the north and south.")
        print('idleActions')

        if action == 'north':
            location = 'ha1'
        if action == 'south':
            location = 'a1'
        if action == 'west':
            print("To the west there is just a wall with paintings.")
        if action == 'east':
            print("east wall description")
        if action == 'inspect':
            print("What would you like to inspect?")
        if action == 'inspect' + ' ' + 'painting':
            print("painting stuff")
            print("painting stuff")
        action = "no action"
    if location == 'ha1':
        print("ha1 stuff")
        print("more ha1 stuff")
    action = input("What would you like to do? ")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...