五子棋 Python 代码实现:简单易懂的入门教程

五子棋是一种经典的棋类游戏,下面是一个简单的 Python 代码实现,适合初学者学习。

1. 初始化棋盘

首先,我们需要定义一个 15x15 的棋盘,用二维列表来表示。其中,'+' 表示该位置没有棋子。

board = [['+' for x in range(15)] for y in range(15)]

2. 打印棋盘

接下来,我们定义一个函数来打印棋盘:

def print_board(board):
    for row in board:
        print(' '.join(row))

3. 检查胜负

我们需要定义一个函数来检查是否有五子连线。该函数需要传入棋盘、当前下子的行列坐标以及当前玩家的标识符。

def check_win(board, row, col, player):
    # 检查横向是否有五子连线
    if col <= 10 and board[row][col:col+5] == [player] * 5:
        return True
    # 检查纵向是否有五子连线
    if row <= 10 and [board[i][col] for i in range(row, row+5)] == [player] * 5:
        return True
    # 检查右上斜向是否有五子连线
    if row >= 4 and col <= 10 and [board[row-i][col+i] for i in range(5)] == [player] * 5:
        return True
    # 检查右下斜向是否有五子连线
    if row <= 10 and col <= 10 and [board[row+i][col+i] for i in range(5)] == [player] * 5:
        return True
    # 如果没有五子连线,则返回 False
    return False

4. 游戏主函数

最后,我们可以写一个主函数来实现游戏的流程:

def main():
    # 初始化棋盘
    board = [['+' for x in range(15)] for y in range(15)]
    # 初始化玩家
    players = ['X', 'O']
    # 初始化当前玩家下标
    current_player = 0
    # 打印棋盘
    print_board(board)
    # 开始游戏循环
    while True:
        # 获取当前玩家输入的下子位置
        move = input("Player {}'s turn, please enter row,col (e.g. 3,4): ".format(players[current_player]))
        row, col = move.split(',')
        # 将行列坐标转换为整数
        row = int(row) - 1
        col = int(col) - 1
        # 判断该位置是否已经有棋子
        if board[row][col] != '+':
            print("This position has already been taken, please choose another one!")
            continue
        # 在该位置下子
        board[row][col] = players[current_player]
        # 打印棋盘
        print_board(board)
        # 检查是否有五子连线
        if check_win(board, row, col, players[current_player]):
            print("Player {} wins!".format(players[current_player]))
            break
        # 切换下一个玩家
        current_player = (current_player + 1) % 2

5. 运行游戏

现在,我们就可以运行主函数来开始游戏了:

if __name__ == '__main__':
    main()

总结

这篇文章介绍了如何使用 Python 代码实现五子棋游戏,从初始化棋盘到判断胜负,并附带代码示例,适合初学者学习。你可以根据自己的需求对代码进行修改和扩展,例如添加 AI 对战功能、调整棋盘大小等。

五子棋 Python 代码实现:简单易懂的入门教程

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

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