我一直在尝试制作GO游戏,在python中使用pygame和numpy数组来存储棋盘位置和石头颜色(0,1,2)。我的问题是我一直在使用for循环来检查每个索引,并通过添加或删除int检查相邻索引:
columns = 5
rows = 5
def create_board():
board = np.zeros((row,col))
return board
board = create_board()
def libertyCheck():
for c in range(columns):
for r in range(rows):
if board[c][r+1] == 0:
x = 1
(lots more ifs, then add x's to see if all spaces are occupied)
这种方法似乎可以捕获单个石头(只要它不在板的边缘,因为它也开始引起越界问题),但是一旦相同颜色的几块石头变得非常复杂彼此相邻,可能需要也可能不需要被捕获。
必须有一种更好的方法来搜索这些索引而不会导致超出范围?一个可以让我跟踪所有的石头及其相邻的空间?