Exemplo n.º 1
0
    def _add_current_player(self, players_model, board_model, current_player):

        if current_player not in players_model:
            PlayerBoardService.new(board=board_model, player=current_player).save()

        if board_model.turn is None:
            board_model.turn = current_player
Exemplo n.º 2
0
    def reload_tiles(self, current_player, board_model, board):

        player_board = PlayerBoardService().get(board=board_model, player=current_player)
        tiles_count = player_board.tiles.count()

        if tiles_count < SCRABBLE_RULES["max_tiles_per_player"]:

            letters = board.get_random_tiles(SCRABBLE_RULES["max_tiles_per_player"] - tiles_count)

            for letter in letters:
                tile = TileService().new(letter=letter, x=0, y=0)
                tile.save()
                player_board.tiles.add(tile)

            player_board.save()

        return player_board