纯Python实现井字棋游戏(无需NumPy)
纯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('游戏结束')
代码说明
- 创建棋盘: 使用嵌套列表
board表示 3x3 的井字棋棋盘,初始时所有位置都为空('-')。2. 检查游戏结束:check_game_over函数检查游戏是否结束,包括玩家获胜或平局。3. 打印棋盘:print_board函数打印当前棋盘状态。4. 游戏循环: 循环获取玩家输入,更新棋盘,并检查游戏是否结束,直到游戏结束。
如何运行代码
- 将代码保存为
.py文件,例如tic_tac_toe.py。2. 在终端中使用python tic_tac_toe.py命令运行代码。
总结
这个简单的井字棋游戏示例展示了如何使用 Python 的基本语法(如列表、循环和条件语句)创建游戏逻辑。您可以尝试修改代码,例如添加玩家姓名输入、改进游戏界面等,以进一步学习和练习 Python 编程。
原文地址: https://www.cveoy.top/t/topic/5WS 著作权归作者所有。请勿转载和采集!