基于Python的九宫格游戏实现

将介绍如何使用Python语言实现经典的九宫格游戏。代码简洁易懂,适合Python初学者学习和练习。

游戏规则

九宫格游戏,也称为井字棋,是一款双人策略游戏。玩家轮流在3x3的棋盘上放置自己的标记(通常是"X"或"O")。最先将自己的标记连成一条直线(水平、垂直或对角线)的玩家获胜。

Python实现

# 初始化游戏棋盘
board = [' ' for _ in range(9)]

# 打印游戏棋盘
def print_board():
    print('-------------')
    for i in range(3):
        print('|', board[i*3], '|', board[i*3+1], '|', board[i*3+2], '|')
        print('-------------')

# 检查游戏是否结束
def check_win():
    # 检查行
    for i in range(3):
        if board[i*3] == board[i*3+1] == board[i*3+2] != ' ':
            return True
    # 检查列
    for i in range(3):
        if board[i] == board[i+3] == board[i+6] != ' ':
            return True
    # 检查对角线
    if board[0] == board[4] == board[8] != ' ' or board[2] == board[4] == board[6] != ' ':
        return True
    return False

# 处理玩家落子
def handle_move(player):
    while True:
        try:
            position = int(input(f'玩家 {player} 落子 (1-9): ')) - 1
            if board[position] == ' ':
                board[position] = player
                break
            else:
                print('该位置已被占用,请重新选择。')
        except (ValueError, IndexError):
            print('输入有误,请输入1-9之间的数字。')

# 主游戏循环
current_player = 'X'
while True:
    print_board()
    handle_move(current_player)
    if check_win():
        print_board()
        print(f'恭喜玩家 {current_player} 获胜!')
        break
    if ' ' not in board:
        print_board()
        print('平局!')
        break
    current_player = 'O' if current_player == 'X' else 'X'

代码说明

代码首先初始化了一个包含9个空格的列表来表示游戏棋盘。然后,定义了三个函数:print_board()用于打印当前棋盘状态,check_win()用于检查游戏是否结束,handle_move()用于处理玩家落子。最后,使用一个循环来进行游戏,直到有一方获胜或棋盘填满。

总结

介绍了如何使用Python实现一个简单的九宫格游戏。代码清晰易懂,可以作为Python初学者的入门项目。同时,读者也可以根据自己的需要对代码进行扩展,例如实现人机对战等功能。