写一个五子棋代码
时间: 2024-02-12 09:08:51 浏览: 23
好的,以下是一个简单的五子棋代码示例:
```python
import numpy as np
# 初始化棋盘
board = np.zeros((15, 15), dtype=int)
# 定义黑白棋子的标识
BLACK = 1
WHITE = -1
# 定义判断胜利函数
def check_win(player):
# 横向
for i in range(15):
for j in range(11):
if np.all(board[i, j:j+5] == player):
return True
# 竖向
for i in range(11):
for j in range(15):
if np.all(board[i:i+5, j] == player):
return True
# 正斜向
for i in range(11):
for j in range(11):
if np.all(board[i:i+5, j:j+5].diagonal() == player):
return True
# 反斜向
for i in range(11):
for j in range(4, 15):
if np.all(np.fliplr(board[i:i+5, j-4:j+1]).diagonal() == player):
return True
return False
# 定义玩家落子函数
def play(player, x, y):
board[x, y] = player
return check_win(player)
# 定义主程序
def main():
player = BLACK
while True:
x, y = input("请输入您的落子坐标(以逗号隔开):").split(",")
x, y = int(x), int(y)
if board[x, y] != 0:
print("该位置已被占用,请重新输入")
continue
if play(player, x, y):
print("恭喜玩家{}获得胜利!".format("黑棋" if player == BLACK else "白棋"))
break
player = BLACK if player == WHITE else WHITE
```
使用时,直接调用 `main()` 函数即可开始游戏。由于这是一个简单的示例,代码中没有对输入进行过多的验证和处理。