Перемещение персонажей и применение перемещения к доске - PullRequest
0 голосов
/ 23 мая 2011

Привет всем, я ранее задавал вопрос о , как создать двумерную сетку для настольной игры на Python , и теперь столкнулся с другой проблемой при создании этой настольной игры.

То, что я пытаюсь сделать, это перемещать фигуры (цифры или буквы) на моей доске и применять этот ход на доске, когда те же самые игроки переходят дальше.В основном,

1 . . . .
2 . . . .
3 . . . .
4 . . . .
. a b c d
Letters' turn: an
1 . . . .
2 . . . .
3 . . . .
4 a . . .
. . b c d
Numbers' turn: 1e
. 1 . . .
2 . . . .
3 . . . .
4 a . . .
. . b c d
Letters' turn: an
. 1 . . .
2 . . . .
3 a . . .
4 . . . .
. . b c d

Вы поняли ...

У меня есть доска, но я не могу понять, как перемещать фигуры и удерживать их на месте, чтобы они могли продолжатьсяих ход на следующем ходу.

У меня есть функции:

def doMove(currentPlayer, board):
def isValidMove(board, move):
and def applyMove(board, move):

Любой совет, который вы могли бы дать, был бы полезен!

1 Ответ

1 голос
/ 23 мая 2011

Полагаю, вам не хватает ключевой функции классов в python: внутреннего состояния. Вот простой пример:

class Counter():
  def __init__(self):
    self.internalCount = 0;
    return
  def addToInternalCount(self, val):
    self.internalCount = self.internalCount + val
    return self.internalCount

Обратите внимание, что если я создаю новый счетчик, я могу многократно вызывать addToInternalCount, и данные internalCount сохраняются при вызовах. Также обратите внимание, что в классе нет ничего особенного в отношении состояния. Любая переменная, внешняя по отношению к функции, могла быть обновлена, и значение сохранялось бы при вызовах.

Есть ли что-то особенное в internalCount? На самом деле, нет. Это может так же легко представить положение на оси X. Пожалуйста, попробуйте.

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