python 五子棋
时间: 2023-10-08 15:06:57 浏览: 54
五子棋是一种古老的策略棋类游戏,目标是在棋盘上连成一条直线的五个棋子。在Python中实现五子棋可以使用各种方法,以下是一个简单的示例代码:
```python
# 定义棋盘大小
board_size = 15
# 初始化棋盘
board = [[' ' for _ in range(board_size)] for _ in range(board_size)]
# 打印棋盘
def print_board(board):
for row in board:
print('|'.join(row))
print('-' * (board_size * 2 - 1))
# 判断是否胜利
def is_winner(board, row, col, player):
# 横向判断
if col <= board_size - 5:
if all(board[row][col+i] == player for i in range(5)):
return True
# 纵向判断
if row <= board_size - 5:
if all(board[row+i][col] == player for i in range(5)):
return True
# 斜向判断
if row <= board_size - 5 and col <= board_size - 5:
if all(board[row+i][col+i] == player for i in range(5)):
return True
if row <= board_size - 5 and col >= 4:
if all(board[row+i][col-i] == player for i in range(5)):
return True
return False
# 下棋
def play(board):
player = 'X'
while True:
print_board(board)
print(f"轮到玩家{player}下棋")
row = int(input("请输入行号:"))
col = int(input("请输入列号:"))
if board[row][col] == ' ':
board[row][col] = player
if is_winner(board, row, col, player):
print(f"玩家{player}获胜!")
break
player = 'O' if player == 'X' else 'X'
else:
print("该位置已有棋子,请重新选择")
# 开始游戏
play(board)
```
这是一个简单的命令行版五子棋游戏,玩家通过输入行号和列号来下棋,游戏会判断是否胜利并打印棋盘。你可以根据自己的需求进行定制和扩展。