翁恺二维数组 井字棋
时间: 2023-12-26 19:27:42 浏览: 48
翁恺二维数组井字棋是一种简单的井字棋游戏实现方式。它使用一个二维数组来表示井字棋盘,玩家可以在空白位置上放置自己的棋子。以下是一个简单的示例代码:
```python
# 创建一个3x3的空白井字棋盘
board = [[' ' for _ in range(3)] for _ in range(3)]
# 打印井字棋盘
def print_board(board):
for row in board:
print('|'.join(row))
print('-' * 5)
# 判断是否有玩家获胜
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 game_loop():
player = 'X' # 玩家X先开始
while True:
print_board(board)
row = int(input("请输入行号(0-2): "))
col = int(input("请输入列号(0-2): "))
if board[row][col] == ' ':
board[row][col] = player
if check_win(board):
print_board(board)
print("玩家", player, "获胜!")
break
if all(board[i][j] != ' ' for i in range(3) for j in range(3)):
print_board(board)
print("平局!")
break
player = 'O' if player == 'X' else 'X'
else:
print("该位置已经有棋子,请重新输入。")
# 开始游戏
game_loop()
```
这段代码创建了一个3x3的空白井字棋盘,并实现了打印井字棋盘、判断玩家是否获胜以及游戏主循环等功能。玩家可以通过输入行号和列号来放置自己的棋子,当有玩家获胜或者棋盘填满时游戏结束。