0
点赞
收藏
分享

微信扫一扫

python实现五子棋小游戏

1. 游戏规则

五子棋是一种简单的策略游戏。在9x10的棋盘上,双方轮流在棋盘上放置他们的棋子(通常为黑色或白色)。第一个在棋盘上连成五子(水平、垂直或对角)的人获胜。

2. 代码示例和教程

2.1 初始化棋盘

首先,我们需要一个9x10的棋盘来开始游戏。我们可以使用一个二维数组来表示它。下面是一个函数来初始化棋盘:

def init_board():
    board = [[' ' for _ in range(10)] for _ in range(9)]
    return board

2.2 放置棋子

下一步是实现一个函数来放置棋子。这个函数应该接受一个棋盘和一个玩家的颜色作为参数,然后为这个玩家在棋盘上放置一个棋子。

def place_piece(board, player, row, col):
    if board[row][col] == ' ':
        board[row][col] = player
        return board
    else:
        return None

2.3 检查胜利

我们需要一个函数来检查游戏是否已经结束,以及胜利者是谁。我们将使用一个简化的方法,只检查当前行、列和两个对角线。

def check_win(board, row, col, player):
    directions = [(1, 0), (0, 1), (1, 1), (1, -1)]
    for dr, dc in directions:
        count = 0
        for _ in range(5):
            r, c = row + dr * _, col + dc * _
            if 0 <= r < 9 and 0 <= c < 10 and board[r][c] == player:
                count += 1
            else:
                break
        if count == 5:
            return True
    return False

2.4 主游戏循环

现在我们可以创建一个主游戏循环来让玩家轮流放置棋子,并检查是否有人获胜。

def main():
    board = init_board()
    players = ['X', 'O']
    current_player = 0
    while True:
        print("Player", players[current_player], "turn")
        print_board(board)
        row, col = map(int, input("Enter row and column (0-8) separated by space: ").split())
        if 0 <= row < 9 and 0 <= col < 10:
            board = place_piece(board, players[current_player], row, col)
            if board is None:
                print("Cell already occupied, try again.")
                continue
            if check_win(board, row, col, players[current_player]):
                print_board(board)
                print("Player", players[current_player], "wins!")
                break
            current_player = 1 - current_player
        else:
            print("Invalid input, try again.")
if __name__ == "__main__":
    main()

2.5 打印棋盘

为了使游戏更有趣,我们还可以添加一个函数来打印棋盘,这样玩家就可以看到发生了什么。

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

3. 总结

这个教程提供了一个简单的五子棋游戏实现。你可以在此基础上添加更多功能,如更多的游戏规则、图形界面等。希望这个示例能帮助你入门五子棋游戏的编程!

举报

相关推荐

0 条评论