Пример #1
0
class GameController:
    def __init__(self, game_point, dice_amount, first_point_limit):
        self.game_point = game_point
        self.dice_amount = dice_amount
        self.first_point_limit = first_point_limit
        self.players = []
        
        self.manager_ui = ManagerUI(self)
        self.player_ui = PlayerUI(self)
        self.game_ui = GameUI(self, game_point)

    def register_player(self, name):
        self.players.append(Player(name))

    def start_game(self):
        for player in self.players:
            player.score = 0            # プレイヤーの得点を初期化する
            player.is_winner = False    # プレイヤーの勝利者判定をoffにする
        
        self.game = Game(self.players, self.game_point, self.dice_amount, self.first_point_limit)
        self.game.set_current_player(self.players[0])     # 最初のプレイヤーを ゲームのcurrentPlayerに編集
        self.new_turn()

    def get_players_count(self):
        return len(self.players)
    
    def new_turn(self):
        self.game.new_turn()
        
    def do_turn(self):
        return self.game.turn.do_turn()
    
    def end_turn(self):
        self.game.end_turn()
    
    def get_current_player(self):
        return self.game.current_player
    
    def next_player(self):
        self.game.next_player()

    def is_turn_bust(self):
        return self.game.is_turn_bust

    def is_turn_none_of_dice(self):
        return self.game.is_turn_none_of_dice

    def is_game_end(self):
        return self.game.is_game_end()
    
    def winner_check(self):
        _score = 0
        for player in self.players:
            if(player.score > _score):
                _score = player.score
                
        if(_score >= self.game_point):
            for player in self.players:
                if(_score == player.score):
                    player.is_winner = True