私はパイゲームとボードの場所と石の色(0、1、2)を格納するためのnumpy配列を使用して、PythonでGOのボードゲームを作成しようとしています。私の問題は、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)
この方法は、単一の石をキャプチャするのには問題ないように見えます (ボードの端にない限り、範囲外の問題も発生し始めるため) が、同じ色の複数の石がそれぞれ隣にあると非常に複雑になります。その他であり、キャプチャする必要がある場合とない場合があります。
範囲外を引き起こすことなくこれらのインデックスを検索するより良い方法が必要ですか? すべての石とそれに隣接するスペースを追跡できるものはありますか?