python人机五子棋
时间: 2023-06-17 11:05:05 浏览: 56
以下是一个简单的 Python 人机五子棋游戏的示例代码:
```python
import random
# 初始化棋盘
board = [['+' for i in range(15)] for j in range(15)]
# 打印棋盘
def print_board():
for i in range(15):
for j in range(15):
print(board[i][j], end=' ')
print()
# 判断是否胜利
def check_win(player):
# 横向
for i in range(15):
for j in range(11):
if board[i][j] == board[i][j+1] == board[i][j+2] == board[i][j+3] == board[i][j+4] == player:
return True
# 纵向
for i in range(11):
for j in range(15):
if board[i][j] == board[i+1][j] == board[i+2][j] == board[i+3][j] == board[i+4][j] == player:
return True
# 斜向
for i in range(11):
for j in range(11):
if board[i][j] == board[i+1][j+1] == board[i+2][j+2] == board[i+3][j+3] == board[i+4][j+4] == player:
return True
for i in range(4, 15):
for j in range(11):
if board[i][j] == board[i-1][j+1] == board[i-2][j+2] == board[i-3][j+3] == board[i-4][j+4] == player:
return True
return False
# 人下棋
def player_go():
while True:
print("请输入您要下棋的坐标,格式为 X,Y:")
x, y = input().split(',')
x, y = int(x), int(y)
if x < 0 or x >= 15 or y < 0 or y >= 15:
print("坐标不合法,请重新输入!")
continue
if board[x][y] != '+':
print("该位置已有棋子,请重新输入!")
continue
board[x][y] = 'O'
break
# AI 下棋
def AI_go():
while True:
x, y = random.randint(0, 14), random.randint(0, 14)
if board[x][y] == '+':
board[x][y] = 'X'
break
# 游戏主循环
while True:
print_board()
player_go()
if check_win('O'):
print_board()
print("恭喜,你赢了!")
break
AI_go()
if check_win('X'):
print_board()
print("很遗憾,你输了!")
break
```
这个游戏很简单,只有一个人类玩家和一个随机下棋的 AI,你可以根据自己的需求进行修改和扩展。