Обновите переменную в Python правильно - PullRequest
0 голосов
/ 19 апреля 2019

Я вызываю указанную ниже функцию из другого модуля и пытаюсь обновить переменную cur при перемещении по коду. Это довольно просто. Если атрибут перемещается на север, переменная должна измениться с 1 на 2. Тем не менее, это обновление не происходит, и я застрял. Я чувствую, что это должно быть очень просто. Как мне обновить эту переменную?

import objects
def movement(move):
    cur = 1
    if cur == 1:
        if move == "north":
            cur = cur + 1
            return "You stand in front of the white house."

        if move == "south":
            return "To the south there is tall grass as far as the eye can see.  But it is getting dark.  You decide to stay put."

        if move == "east":
            return "Darkness creeps up across the tall grassy feilds in the east.  You decide to stay put."

        if move == "west":
            return "You stand in a dark forest to the west."

    if cur == 2:
        if move == "south":         
            cur = cur - 1
            return "You stand facing a white house in the north.  Grassy feilds surround you and the sun is setting behind a forest in the west. " + objects.Mailbox.obj()

1 Ответ

0 голосов
/ 19 апреля 2019

если вы хотите, чтобы ваш cur был обновлен, вам нужно будет сделать движение классом и определить члена следующим образом:

import objects

class MovementClass:
    def __init__(self):
        self.cur = 1
    def movement(self, move):
        if self.cur == "north":
            self.cur += 1
            return "You stand in front of the white house."

        if move == "south":
            return "To the south there is tall grass as far as the eye can see.  But it is getting dark.  You decide to stay put."

        if move == "east":
            return "Darkness creeps up across the tall grassy feilds in the east.  You decide to stay put."

        if move == "west":
            return "You stand in a dark forest to the west."

        if self.cur == 2:
            if move == "south":         
                self.cur -= 1
                return "You stand facing a white house in the north.  Grassy feilds surround you and the sun is setting behind a forest in the west. " + objects.Mailbox.obj()

Таким образом, ваш cur будет обновлен,и вы сможете получить к нему доступ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...