python五子棋胜利条件代码
时间: 2024-05-02 18:14:31 浏览: 4
五子棋的胜利条件是在一个棋盘上,任意一方的五个棋子连成一线(横、竖、斜线均可)。为了判断胜利条件,我们需要检查棋盘上的每一个位置,看是否有连续的五个相同颜色的棋子。
以下是一个简单的Python代码示例,用于判断五子棋的胜利条件:
```python
def check_win(board, x, y, player):
directions = [(-1, 0), (1, 0), (0, -1), (0, 1), (-1, -1), (1, 1), (-1, 1), (1, -1)]
for dx, dy in directions:
count = 1
for i in range(1, 5):
nx, ny = x + i * dx, y + i * dy
if 0 <= nx < len(board) and 0 <= ny < len(board) and board[nx][ny] == player:
count += 1
else:
break
if count == 5:
return True
return False
# 示例
board = [
['X', 'O', 'X', 'O', 'X'],
['O', 'X', 'O', 'X', 'O'],
['X', 'O', 'X', 'O', 'X'],
['O', 'X', 'O', 'X', 'O'],
['X', 'O', 'X', 'O', 'X']
]
print(check_win(board, 2, 2, 'X')) # 输出:True
```
这个代码定义了一个名为`check_win`的函数,它接受一个表示棋盘的二维列表`board`、一个坐标`(x, y)`和一个表示玩家的字符`player`。函数会检查以`(x, y)`为中心的所有方向(横、竖、斜线),看是否有连续的五个相同颜色的棋子。如果有,函数返回`True`,否则返回`False`。