Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 移动字符并将移动应用于板_Python_Function - Fatal编程技术网

Python 移动字符并将移动应用于板

Python 移动字符并将移动应用于板,python,function,Python,Function,大家好,我之前问过一个问题,现在在制作这个棋盘游戏时遇到了另一个问题 我想做的是在我的棋盘上移动棋子(数字或字母),并在下一个轮到同一个玩家时将该移动应用到棋盘上。 基本上 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 . . .

大家好,我之前问过一个问题,现在在制作这个棋盘游戏时遇到了另一个问题

我想做的是在我的棋盘上移动棋子(数字或字母),并在下一个轮到同一个玩家时将该移动应用到棋盘上。 基本上

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):

你能提供的任何建议都会很好

我认为您缺少python中类的一个关键特性:内部状态。下面是一个简单的例子:

class Counter():
  def __init__(self):
    self.internalCount = 0;
    return
  def addToInternalCount(self, val):
    self.internalCount = self.internalCount + val
    return self.internalCount
请注意,如果我创建一个新计数器,我可以多次调用addToInternalCount,并且internalCount数据在调用之间保持不变。还请注意,就状态而言,类没有什么特殊之处。函数外部的任何变量都可能已更新,并且该值会在调用之间保持不变


有什么特别的吗?不是真的。这可以很容易地表示x轴上的位置。请试一试。

在没有看到完整的函数定义的情况下,我能给您的唯一建议是,您的函数名称合理合理(除了“doMove”,它有点模糊)。您需要向我们展示您用于电路板和各部分的数据结构。到目前为止你试过什么?它是怎么不起作用的?另外,请在下次发布问题时阅读“如何格式化”侧栏——任何你想要看起来像代码的东西都应该缩进四个空格。所有这些都在数据结构中:设计一个好的,这些方法实际上会自己编写。