python写一个五子棋游戏
时间: 2023-08-19 11:56:17 浏览: 44
当然可以!以下是一个简单的五子棋游戏的Python代码示例:
```python
# 初始化棋盘
board = [[' ' for _ in range(15)] for _ in range(15)]
# 画棋盘
def draw_board():
print(' 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14')
for i in range(15):
print('{} '.format(i), end='')
for j in range(15):
print('{} '.format(board[i][j]), end='')
print()
# 判断是否获胜
def is_win(row, col, player):
# 横向判断
count = 0
for j in range(15):
if board[row][j] == player:
count += 1
if count == 5:
return True
else:
count = 0
# 纵向判断
count = 0
for i in range(15):
if board[i][col] == player:
count += 1
if count == 5:
return True
else:
count = 0
# 左上到右下判断
count = 0
i, j = row, col
while i > 0 and j > 0:
i -= 1
j -= 1
while i < 15 and j < 15:
if board[i][j] == player:
count += 1
if count == 5:
return True
else:
count = 0
i += 1
j += 1
# 左下到右上判断
count = 0
i, j = row, col
while i < 14 and j > 0:
i += 1
j -= 1
while i >= 0 and j < 15:
if board[i][j] == player:
count += 1
if count == 5:
return True
else:
count = 0
i -= 1
j += 1
return False
# 开始游戏
def play_game():
player = 'X'
while True:
draw_board()
row = int(input('请输入落子的行号:'))
col = int(input('请输入落子的列号:'))
if row < 0 or row >= 15 or col < 0 or col >= 15 or board[row][col] != ' ':
print('无效的位置,请重新输入!')
continue
board[row][col] = player
if is_win(row, col, player):
print('玩家 {} 获胜!'.format(player))
break
player = 'O' if player == 'X' else 'X'
# 开始游戏
play_game()
```
这段代码实现了一个简单的五子棋游戏,玩家通过输入行号和列号来落子,直到有一方获胜或棋盘填满结束游戏。注意,这只是一个简单的示例,没有包含复杂的算法和优化。你可以根据自己的需求进行修改和扩展。祝你玩得愉快!