简易人机五子棋游戏代码Python
时间: 2024-04-20 10:21:22 浏览: 25
当然可以!以下是一个简易的人机五子棋游戏代码示例(Python):
```python
import random
# 创建棋盘
def create_board():
board = [[' ' for _ in range(15)] for _ in range(15)]
return board
# 打印棋盘
def print_board(board):
print(' 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14')
for i in range(15):
print('{:2d}'.format(i), end=' ')
for j in range(15):
print(board[i][j], end=' ')
print()
# 判断是否胜利
def check_win(board, row,, player):
directions = [(0, 1), (1, 0), (1, 1), (1, -1)]
for d in directions:
count = 1
x, y = row, col
while count < 5:
x += d
y += d
if x < 0 or x >= 15 or y < 0 or y >= 15 or board[x][y] != player:
break
count += 1
x, y = row, col
while count < 5:
x -= d
y -= d
if x < 0 or x >= 15 or y < 0 or y >= 15 or board[x][y] != player:
break
count += 1
if count >= 5:
return True
return False
# 玩家下棋
def player_move(board):
while True:
row = int(input("请输入行号(0-14):"))
col = int(input("请输入列号(0-14):"))
if row >= 0 and row < 15 and col >= 0 and col < 15 and board[row][col] == ' ':
board[row][col] = 'X'
break
else:
print("输入无效,请重新输入!")
# AI下棋
def ai_move(board):
while True:
row = random.randint(0, 14)
col = random.randint(0, 14)
if board[row][col] == ' ':
board[row][col] = 'O'
break
# 游戏主循环
def game_loop():
board = create_board()
print_board(board)
while True:
player_move(board)
print_board(board)
if check_win(board, row, col, 'X'):
print("玩家胜利!")
break
ai_move(board)
print_board(board)
if check_win(board, row, col, 'O'):
print("AI胜利!")
break
# 启动游戏
game_loop()
```
希望这个简易的人机五子棋游戏代码对你有帮助!