以下是一个简单的主从博弈代码示例,其中包括两个类:'Game' 和 'Player'。

'Game' 类负责控制游戏的流程和规则,包括初始化和更新游戏状态,检查胜利条件等。'Player' 类则表示玩家,每个玩家都有一个名字和一定数量的棋子。在游戏中,主玩家和从玩家交替行动,直到有一个玩家赢得游戏。

class Game:
    def __init__(self, main_player, slave_player):
        self.main_player = main_player
        self.slave_player = slave_player
        self.current_player = main_player
        self.board = [[' ']*3 for _ in range(3)]
        self.winner = None

    def update_board(self, row, col):
        self.board[row][col] = self.current_player.symbol

    def check_win(self):
        for i in range(3):
            if self.board[i][0] == self.board[i][1] == self.board[i][2] != ' ':  
                self.winner = self.current_player
                return True
            if self.board[0][i] == self.board[1][i] == self.board[2][i] != ' ':  
                self.winner = self.current_player
                return True
        if self.board[0][0] == self.board[1][1] == self.board[2][2] != ' ':  
            self.winner = self.current_player
            return True
        if self.board[0][2] == self.board[1][1] == self.board[2][0] != ' ':  
            self.winner = self.current_player
            return True
        return False

    def switch_player(self):
        if self.current_player == self.main_player:
            self.current_player = self.slave_player
        else:
            self.current_player = self.main_player

    def play(self):
        while not self.check_win():
            print(f'{self.current_player.name}'s turn:')
            row = int(input('Enter row number: '))
            col = int(input('Enter column number: '))
            self.update_board(row, col)
            self.switch_player()
            print(self.board)
        print(f'{self.winner.name} wins!')


class Player:
    def __init__(self, name, symbol):
        self.name = name
        self.symbol = symbol
        self.pieces = 3

    def place_piece(self, row, col):
        self.pieces -= 1

        
# 主程序
if __name__ == '__main__':
    main_player = Player('Alice', 'X')
    slave_player = Player('Bob', 'O')
    game = Game(main_player, slave_player)
    game.play()

在这个示例代码中,'Game' 类中定义了一些方法,用于更新棋盘、检查胜利条件、交替行动等。'Player' 类则表示玩家,其中包括玩家的名字、棋子类型和剩余棋子数量等属性。在主程序中,我们创建了两个玩家和一个游戏对象,并调用 game.play() 方法开始游戏。

Python 主从博弈代码示例:Tic-Tac-Toe 游戏

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

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