【发布时间】:2023-03-09 01:50:01
【问题描述】:
我正在做一个国际象棋游戏,但无法理解这段代码,请有人给我解释一下。
def enumerate_moves(x, y):
potential_moves = []
# If the piece at position (x,y) is a Knight
if board[x][y] is "Knight":
potential_moves.append([[x+2], [y+1]])
potential_moves.append([[x+2], [y-1]])
potential_moves.append([[x+1], [y+2]])
potential_moves.append([[x+1], [y-2]])
potential_moves.append([[x-2], [y-1]])
potential_moves.append([[x-2], [y+1]])
potential_moves.append([[x-1], [y+2]])
potential_moves.append([[x-1], [y-2]])
我了解代码的概念,但只是不明白这些 ([x-1], [y-2]) 是如何在 8 x 8 二维数组上进行骑士移动的。有人可以解释这些计算是如何进行的。谢谢!
【问题讨论】:
-
骑士可以向一个方向移动 2 个空格,向另一个方向移动 1 个空格。这些是所有这些可能动作的枚举。
-
看起来这更像是一个关于国际象棋的问题而不是 python
-
仅供参考,
[x+1], [y+2]出现两次。 -
这段代码语法错误。
-
画出一个 5 x 5 的网格。用
x, y标记中心正方形,并为x和y选择+和-的方向。查看马可以从中心方块移动的位置,并将其与此处代码中的偏移量进行比较。
标签: python arrays python-3.x