纯Python实现井字棋游戏(无需NumPy)

想学习如何使用Python创建井字棋游戏吗?这篇文章提供了完整的代码示例,无需使用NumPy等外部库,非常适合初学者。

代码python# 创建一个3x3的空棋盘board = [['-', '-', '-'], ['-', '-', '-'], ['-', '-', '-']]

player = 'X' # X先下game_over = False

检查游戏是否结束def check_game_over(board, player): # 检查行 for i in range(3): if board[i][0] == board[i][1] == board[i][2] == player: return True

# 检查列    for i in range(3):        if board[0][i] == board[1][i] == board[2][i] == player:            return True

# 检查对角线    if board[0][0] == board[1][1] == board[2][2] == player:        return True    if board[0][2] == board[1][1] == board[2][0] == player:        return True

# 检查平局    if all(board[i][j] != '-' for i in range(3) for j in range(3)):        return True

return False

打印棋盘def print_board(board): for row in board: print(' '.join(row))

游戏循环while not game_over: print_board(board) print('轮到', player, '下棋')

# 获取玩家输入    valid_move = False    while not valid_move:        row = int(input('请输入行号 (0, 1, 2): '))        col = int(input('请输入列号 (0, 1, 2): '))

    if board[row][col] == '-':            board[row][col] = player            valid_move = True        else:            print('该位置已经被占据,请重新选择')

# 检查游戏是否结束    game_over = check_game_over(board, player)

# 切换玩家    if player == 'X':        player = 'O'    else:        player = 'X'

print_board(board)print('游戏结束')

代码说明

  1. 创建棋盘: 使用嵌套列表 board 表示 3x3 的井字棋棋盘,初始时所有位置都为空('-')。2. 检查游戏结束: check_game_over 函数检查游戏是否结束,包括玩家获胜或平局。3. 打印棋盘: print_board 函数打印当前棋盘状态。4. 游戏循环: 循环获取玩家输入,更新棋盘,并检查游戏是否结束,直到游戏结束。

如何运行代码

  1. 将代码保存为 .py 文件,例如 tic_tac_toe.py。2. 在终端中使用 python tic_tac_toe.py 命令运行代码。

总结

这个简单的井字棋游戏示例展示了如何使用 Python 的基本语法(如列表、循环和条件语句)创建游戏逻辑。您可以尝试修改代码,例如添加玩家姓名输入、改进游戏界面等,以进一步学习和练习 Python 编程。

纯Python实现井字棋游戏(无需NumPy)

原文地址: https://www.cveoy.top/t/topic/5WS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录