五子棋的Python代码
时间: 2023-11-05 14:03:02 浏览: 40
以下是一个简单的五子棋Python代码:
```python
import numpy as np
# 定义棋盘大小
BOARD_SIZE = 15
# 定义棋盘
board = np.zeros((BOARD_SIZE, BOARD_SIZE))
# 定义棋子颜色
BLACK = 1
WHITE = 2
# 定义当前落子颜色
current_player = BLACK
# 定义落子函数
def play(x, y):
global board, current_player
board[x][y] = current_player
current_player = WHITE if current_player == BLACK else BLACK
# 定义判断胜负函数
def check_win(x, y):
# 定义横向连续棋子数
count = 1
i = 1
while y-i >= 0 and board[x][y-i] == board[x][y]:
count += 1
i += 1
i = 1
while y+i < BOARD_SIZE and board[x][y+i] == board[x][y]:
count += 1
i += 1
if count >= 5:
return True
# 定义纵向连续棋子数
count = 1
i = 1
while x-i >= 0 and board[x-i][y] == board[x][y]:
count += 1
i += 1
i = 1
while x+i < BOARD_SIZE and board[x+i][y] == board[x][y]:
count += 1
i += 1
if count >= 5:
return True
# 定义左上到右下连续棋子数
count = 1
i = 1
while x-i >= 0 and y-i >= 0 and board[x-i][y-i] == board[x][y]:
count += 1
i += 1
i = 1
while x+i < BOARD_SIZE and y+i < BOARD_SIZE and board[x+i][y+i] == board[x][y]:
count += 1
i += 1
if count >= 5:
return True
# 定义右上到左下连续棋子数
count = 1
i = 1
while x-i >= 0 and y+i < BOARD_SIZE and board[x-i][y+i] == board[x][y]:
count += 1
i += 1
i = 1
while x+i < BOARD_SIZE and y-i >= 0 and board[x+i][y-i] == board[x][y]:
count += 1
i += 1
if count >= 5:
return True
# 未达到五子连珠
return False
# 开始游戏
while True:
# 打印当前棋盘
print(board)
# 获取玩家落子位置
x, y = map(int, input("请输入落子位置(x,y):").split(","))
# 判断落子是否合法
if board[x][y] != 0:
print("此位置已有棋子,请重新落子!")
continue
# 落子
play(x, y)
# 判断胜负
if check_win(x, y):
print("恭喜玩家{}获胜!".format("黑子" if current_player == WHITE else "白子"))
break
```
这个代码实现了一个简单的五子棋游戏,玩家可以通过输入坐标来落子,程序会自动判断胜负并结束游戏。此代码只是一个简单的示例,实际游戏可以根据需要进行修改和完善。
相关推荐
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)