您好,我正在使用Python语言开发connect4。这是一个示例:https://www.mathsisfun.com/games/connect4.html
我正在使用的版本允许用户设置行数,列数以及要赢得的光盘数。我被困在对角检查光盘。
目前,以下代码是一种硬编码,但在检查4个已连接的光盘时,它可以完美工作。
# Check positively sloped diaganols
for c in range(COLUMN_COUNT-3):
for r in range(ROW_COUNT-3):
if board[r][c] == piece and board[r+1][c+1] == piece and board[r+2][c+2] == piece and board[r+3][c+3] == piece:
return True
# Check negatively sloped diaganols
for c in range(COLUMN_COUNT-3):
for r in range(3, ROW_COUNT):
if board[r][c] == piece and board[r-1][c+1] == piece and board[r-2][c+2] == piece and board[r-3][c+3] == piece:
return True
我设法编写了用于水平和垂直检查的代码。只是想知道我应该如何转换上面的算法,以使得如果要赢得的连接盘数可以是任何数量(对角线),它仍然可以工作? (例如赢取3或5张光盘)