用python写一个五子棋游戏代码
时间: 2023-12-17 21:46:29 浏览: 144
由于五子棋游戏的代码比较长,因此在这里只提供一个简单的五子棋游戏代码,仅供参考。
```python
import numpy as np
# 初始化棋盘
def init_board():
board = np.zeros((15, 15))
return board
# 判断是否胜利
def is_win(board, x, y):
# 判断横向是否连成五个相同的棋子
if y + 4 < 15 and len(set(board[x, y:y+5])) == 1:
return True
# 判断纵向是否连成五个相同的棋子
if x + 4 < 15 and len(set(board[x:x+5, y])) == 1:
return True
# 判断左上到右下是否连成五个相同的棋子
if x + 4 < 15 and y + 4 < 15 and len(set([board[x+i, y+i] for i in range(5)])) == 1:
return True
# 判断右上到左下是否连成五个相同的棋子
if x + 4 < 15 and y - 4 >= 0 and len(set([board[x+i, y-i] for i in range(5)])) == 1:
return True
return False
# 主函数
def main():
# 初始化棋盘
board = init_board()
# 初始化当前下棋方为黑方
cur_player = 1
# 无限循环,直到有一方胜利
while True:
# 打印当前棋盘
print(board)
# 提示当前下棋方
if cur_player == 1:
print("黑方下棋:")
else:
print("白方下棋:")
# 输入下棋位置
x = int(input("请输入x坐标:"))
y = int(input("请输入y坐标:"))
# 判断该位置是否已经有棋子
if board[x, y] != 0:
print("该位置已经有棋子,请重新输入!")
continue
# 在棋盘上下棋
board[x, y] = cur_player
# 判断是否胜利
if is_win(board, x, y):
# 打印胜利信息
print(board)
if cur_player == 1:
print("黑方胜利!")
else:
print("白方胜利!")
break
# 切换下棋方
cur_player = 3 - cur_player
# 调用主函数
if __name__ == "__main__":
main()
```
这个代码实现了一个简单的五子棋游戏,可以在命令行中运行,需要手动输入下棋的位置坐标,然后判断下棋位置是否合法,如果合法就在棋盘上下棋,然后判断是否胜利,如果胜利就结束游戏。
阅读全文