使用Python来实现一个可循环的井字棋游戏
时间: 2024-04-08 21:30:43 浏览: 22
当然!下面是一个使用Python实现的可循环的井字棋游戏的示例代码:
```python
def draw_board(board):
print("---------")
for row in board:
print("|", end="")
for cell in row:
print(cell, end="|")
print("\n---------")
def check_win(board):
# 检查行
for row in board:
if row[0] == row[1] == row[2] != " ":
return True
# 检查列
for col in range(3):
if board[0][col] == board[1][col] == board[2][col] != " ":
return True
# 检查对角线
if board[0][0] == board[1][1] == board[2][2] != " ":
return True
if board[0][2] == board[1][1] == board[2][0] != " ":
return True
return False
def play_game():
board = [[" ", " ", " "],
[" ", " ", " "],
[" ", " ", " "]]
player = "X"
game_over = False
while not game_over:
draw_board(board)
# 获取玩家输入坐标
row = int(input("请输入行号(0-2):"))
col = int(input("请输入列号(0-2):"))
# 检查坐标是否有效
if board[row][col] != " ":
print("该位置已经有棋子了,请重新输入!")
continue
# 更新棋盘
board[row][col] = player
# 检查游戏是否结束
if check_win(board):
draw_board(board)
print(f"玩家 {player} 获胜!")
game_over = True
elif all(cell != " " for row in board for cell in row):
draw_board(board)
print("平局!")
game_over = True
# 切换玩家
player = "O" if player == "X" else "X"
play_game()
```
这段代码实现了一个可循环的井字棋游戏。在游戏开始时,会初始化一个空的棋盘,并轮流获取玩家输入的坐标进行下棋。程序会检查每次下棋后是否有玩家获胜或者平局,并进行相应的输出。如果没有获胜或者平局,游戏会继续进行下一轮。你可以运行这段代码来体验井字棋游戏。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)
![](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)