我正在尝试使用 pygame 库用 python 3 制作棋盘游戏。我要做的是创建一个 x x y 2d 对象列表,我将其称为空间来表示板。首先我初始化所有的空间,颜色为灰色,is_piece 属性设置为 False,表示它们都是空的空间。然后,我想通过将 board[x][y] 值替换为 is_piece 属性设置为 true 的对象来替换空格。
我遇到的错误是 self.coords 值正在翻转。例如,在下面的代码中,具有 [2, 3] self.coords 值的石头对象最终位于 board[3][2] 位置,反之亦然。添加更多的石头也会通过翻转索引值来破坏 self.coords,有时随后将其中之一添加到其中。
def initialize_board():
#creates an array of empty spaces representing the board
board = [[Space(GRAY, RADIUS, [x, y], False) for x in range(BOARDWIDTH)]
for y in range(BOARDHEIGHT)
#Create the center stones
board[3][3] = Space(RED, RADIUS, [3, 3], True)
board[2][3] = Space(RED, RADIUS, [2, 3], True)
board[4][3] = Space(RED, RADIUS, [4, 3], True)
board[3][2] = Space(RED, RADIUS, [3, 2], True)
board[3][4] = Space(RED, RADIUS, [3, 4], True)
这是我正在使用的 Space 类的init方法:
def __init__(self, color, size, coords, is_stone):
self.color = color
self.size = size
self.coords = coords
self.is_stone = is_stone #false if empty
self.pos = [CCONSTANT + DISTANCE * self.coords[0],
CCONSTANT + DISTANCE * self.coords[1]]
谁能告诉我我在搞砸什么?