二维数组判断五子棋胜利
时间: 2023-12-26 13:28:53 浏览: 36
在二维数组中判断五子棋胜利的方法可以通过检查每个位置的水平、垂直和对角线方向上是否存在连续的五个相同的棋子来实现。以下是一个示例代码:
```python
def check_win(board):
# 检查水平方向
for i in range(len(board)):
for j in range(len(board) - 4):
if board[i][j] == board[i][j+1] == board[i][j+2] == board[i][j+3] == board[i][j+4] != 0:
return True
# 检查垂直方向
for i in range(len(board) - 4):
for j in range(len(board)):
if board[i][j] == board[i+1][j] == board[i+2][j] == board[i+3][j] == board[i+4][j] != 0:
return True
# 检查主对角线方向
for i in range(len(board) - 4):
for j in range(len(board) - 4):
if board[i][j] == board[i+1][j+1] == board[i+2][j+2] == board[i+3][j+3] == board[i+4][j+4] != 0:
return True
# 检查副对角线方向
for i in range(len(board) - 4):
for j in range(4, len(board)):
if board[i][j] == board[i+1][j-1] == board[i+2][j-2] == board[i+3][j-3] == board[i+4][j-4] != 0:
return True
return False
```
这个函数接受一个二维数组`board`作为参数,其中0表示空位置,1表示黑子,2表示白子。函数会返回一个布尔值,表示是否存在五子棋胜利的情况。