我创建了连接4;它是一个7乘6格。以下是测试对角线连接4是否赢得的算法。尽管当芯片位于图像中所示的位置时,会发生索引错误。我该如何解决这个问题,以及如何获得对角线算法?索引错误,超出范围Python
board[5][1] = 1 # (red chip)
board[4][2] = 1 # (red chip)
board[3][3] = 1 # (red chip) #THIS IS WHEN ERROR OCCURS FOR THE FIRST DIAGONAL ALGORITHM
# check/diagonal spaces
for x in range(7 - 3):
for y in range(3, 6):
if board[x][y] == 1 and board[x+1][y-1] == 1 and board[x+2][y-2] == 1 and board[x+3][y-3] == 1:
return True
# check \ diagonal spaces
for x in range(7 - 3):
for y in range(6 - 3):
if board[x][y] == 1 and board[x+1][y+1] == 1 and board[x+2][y+2] == 1 and board[x+3][y+3] == 1:
return True
错误:
if board[x][y] == 1 and board[x+1][y-1] == 1 and board[x+2][y-2] == 1 and board[x+3][y-3] == 1:
IndexError: list index out of range
'range(7 - 3)'与'range(4)'是一样的,它将从0到3计数。这是你想要的吗? –
那么它的唯一方法,我认为这将允许我检测对角线连接4,但我可能混淆了这个数学。这可能是没有被发现对角线胜利的原因。 –