嘿大家,我之前在how to create a 2-D grid for a board game in 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):
任何可以借出的建议都会很棒!
答案 0 :(得分:1)
我相信你错过了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轴上的位置。请继续吧。