在Tic-tac-toe游戏的每个回合结束时,都要判断是否出现平局。如果出现平局,则将游戏状态设为“平局”,并立即结束游戏。以下是代码示例:
# 初始化游戏状态
PLAYING = "playing"
DRAW = "draw"
# 实现判断是否出现平局的函数
def check_draw(board):
for row in board:
for val in row:
if val == "-":
return False
return True
# 游戏主循环
def main():
# 初始化棋盘和游戏状态
board = [["-" for _ in range(3)] for _ in range(3)]
game_state = PLAYING
# 循环进行游戏
while game_state == PLAYING:
# 显示棋盘并提示玩家输入
display_board(board)
row, col = get_player_input()
# 在玩家输入的位置上放置棋子
board[row][col] = "X"
# 判断是否出现胜利
if check_victory(board, "X"):
game_state = "X wins"
# 判断是否出现平局
elif check_draw(board):
game_state = DRAW
else:
# 计算电脑下一步的位置,并放置棋子
row, col = get_computer_move(board)
board[row][col] = "O"
# 判断是否出现胜利
if check_victory(board, "O"):
game_state = "O wins"
# 判断是否出现平局
elif check_draw(board):
game_state = DRAW
# 游戏结束,显示最终结果
display_board(board)
if game_state == DRAW:
print("It's a draw!")
else:
print(game_state)