Пример #1
0
def initialization():
    deck = Deck()
    deck.shuffle()
    player = Player()
    dealer = Player()

    start_game(deck, player, dealer)
Пример #2
0
def test_board_place_building():
    b = Board(2,2)
    players = [
        Player(0, PlayerColour.RED), 
        Player(1, PlayerColour.ORANGE),
        Player(2, PlayerColour.YELLOW)
    ]

    b.place_building(BuildingType.SETTLEMENT, players[0], 0, 0)
    b.place_building(BuildingType.SETTLEMENT, players[1], 0, 2)
    b.place_building(BuildingType.SETTLEMENT, players[2], 0, 4)
    b.place_building(BuildingType.SETTLEMENT, players[0], 1, 1)
    b.place_building(BuildingType.SETTLEMENT, players[1], 1, 3)
    b.place_building(BuildingType.SETTLEMENT, players[2], 2, 2)

    assert b.corners[0][0].owner.id == 0
    assert b.corners[0][1].owner is None
    assert b.corners[0][2].owner.id == 1
    assert b.corners[0][3].owner is None
    assert b.corners[0][4].owner.id == 2

    assert b.corners[1][0].owner is None
    assert b.corners[1][1].owner.id == 0
    assert b.corners[1][2].owner is None
    assert b.corners[1][3].owner.id == 1
    assert b.corners[1][4].owner is None

    assert b.corners[2][0].owner is None
    assert b.corners[2][1].owner is None
    assert b.corners[2][2].owner.id is 2
    assert b.corners[2][3].owner is None
    assert b.corners[2][4].owner is None
Пример #3
0
    def load_tournament(self, tournament_json):
        tournament = Tournament(
            tournament_json['name'], tournament_json['description'],
            tournament_json['place'], tournament_json['start_date'],
            tournament_json['end_date'], tournament_json['number_of_rounds'],
            tournament_json['time_control'])

        for player_data in tournament_json['players']:
            tournament.players.append(Player(**player_data))

        for round_ in tournament_json['rounds']:
            new_round = Round(tournament)
            new_round.start_time = datetime(
                round_['start']['y'],
                round_['start']['mo'],
                round_['start']['d'],
                round_['start']['h'],
                round_['start']['mi'],
            )
            new_round.end_time = datetime(
                round_['end']['y'],
                round_['end']['mo'],
                round_['end']['d'],
                round_['end']['h'],
                round_['end']['mi'],
            )
            new_round.end_confirmation = round_['end_confirmation']
            for game_data in round_['games']:
                new_game = Game(Player(**game_data['player1']),
                                Player(**game_data['player2']))
                new_game.update_result(game_data['result'])
                new_round.games.append(new_game)
            tournament.rounds.append(new_round)

        return tournament
Пример #4
0
    def setUp(self):
        team_1 = Team("Barcelona", 27)
        team_2 = Team("Real Madrid", 24)
        self.teams = [team_1, team_2]

        self.player_1 = Player("Hazard", "Real Madrid", "Forward", 12, 8, 0, 0)
        self.player_2 = Player("Rodrygo", "Real Madrid", "Forward", 4, 9, 0, 0)
Пример #5
0
 def show_latest_pairs(self) -> list:
     pairs = []
     latest_round = list(self.rounds.keys())[-1]
     for item in self.rounds[latest_round]['matches']:
         pairs.append({
             'player_1': Player({'id': item[0][0]}).get_player_name(),
             'player_2': Player({'id': item[1][0]}).get_player_name()
         })
     return pairs
Пример #6
0
 def setUp(self) -> None:
     self.playground_a = Playground(name='Ramot Sapir', address='Gotel Levin 1, Haifa, Israel',
                                    location=(32.783800, 35.004821),
                                    opening_hours=[('0800', '1400'), ('1600', '2200')])
     self.playground_b = Playground(name='Gan Daniel', address='HaShikma 3, Haifa, Israel',
                                    location=(32.786935, 34.994653),
                                    opening_hours=[('0800', '2359')])
     self.players = [Player('botzer', 'Amit Botzer', datetime.datetime(1992, 12, 13), 'Haifa'),
                     Player('botzer92', 'Michael Botzer', datetime.datetime(1992, 12, 13), 'Haifa')]
Пример #7
0
def main():
    arena = Arena(surf=DISPLAY_SURF)

    player_1 = Player(name=settings.PLAYER_ONE,
                      surf=DISPLAY_SURF,
                      pos=get_player_default_pos(num=settings.PLAYER_ONE))

    player_2 = Player(name=settings.PLAYER_TWO,
                      surf=DISPLAY_SURF,
                      pos=get_player_default_pos(num=settings.PLAYER_TWO))

    ball = Ball(surf=DISPLAY_SURF,
                pos=get_ball_default_pos(),
                speed=settings.EASY)

    clock = Clock(surf=DISPLAY_SURF)
    clock.start()

    # Stack used to maintain render order
    game_objects = [
        arena,
        player_1,
        player_2,
        ball,
        clock,
    ]

    # Main loop
    while True:
        # Events
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                exit_game()

            elif event.type == pygame.MOUSEMOTION:
                player_1.move((0, event.pos[1] - player_1.y))

        # Logic
        game_over = check_point_scored(ball)
        if game_over:
            SoundController.play_game_over()
            clock.stop()
            elapsed = clock.get_elapsed_seconds()
            show_game_over_screen(DISPLAY_SURF, FPS_CLOCK, elapsed)
            clock.reset()
            clock.start()

            ball.reset_velocity()
            ball.reposition(get_ball_default_pos())

        handle_ball_movement(ball, player_1, player_2)
        handle_player_movement(player_2, ball)

        # Rendering
        render_game_objects(game_objects)
        pygame.display.update()
        FPS_CLOCK.tick(settings.FPS)
Пример #8
0
    def init_game(self, seed):
        """Inicializa um novo jogo e retorna seu estado."""

        player_1 = Player(player_id=1,
                          player_type=PlayerType.IMPULSIVE,
                          balance=300)
        player_2 = Player(player_id=2,
                          player_type=PlayerType.RIGOROUS,
                          balance=300)
        player_3 = Player(player_id=3,
                          player_type=PlayerType.CAUTIOUS,
                          balance=300)
        player_4 = Player(player_id=4,
                          player_type=PlayerType.RANDOM,
                          balance=300)

        # retira random seed por hora
        # random.seed(seed)

        # atribui a ordem dos jogadores aleatoriamente
        players_list = [player_1, player_2, player_3, player_4]
        players_order = players_list.copy()
        random.shuffle(players_order)
        players_list.insert(0, None)

        # Posição -1 é o ponto de partida
        # após o começo do jogo essa posição deixa de existir
        # ao passar novamente na posição 0, o jogador ganha 100
        board = []
        board.append(Estate(price=50, rent=10, estate_id=0))
        board.append(Estate(price=100, rent=20, estate_id=1))
        board.append(Estate(price=150, rent=30, estate_id=2))
        board.append(Estate(price=200, rent=40, estate_id=3))
        board.append(Estate(price=250, rent=55, estate_id=4))
        board.append(Estate(price=300, rent=60, estate_id=5))
        board.append(Estate(price=50, rent=10, estate_id=6))
        board.append(Estate(price=100, rent=20, estate_id=7))
        board.append(Estate(price=150, rent=30, estate_id=8))
        board.append(Estate(price=200, rent=40, estate_id=9))
        board.append(Estate(price=250, rent=55, estate_id=10))
        board.append(Estate(price=300, rent=60, estate_id=11))
        board.append(Estate(price=50, rent=10, estate_id=12))
        board.append(Estate(price=100, rent=20, estate_id=13))
        board.append(Estate(price=150, rent=30, estate_id=14))
        board.append(Estate(price=200, rent=40, estate_id=15))
        board.append(Estate(price=250, rent=55, estate_id=16))
        board.append(Estate(price=300, rent=60, estate_id=17))
        board.append(Estate(price=50, rent=10, estate_id=18))
        board.append(Estate(price=100, rent=20, estate_id=19))

        self.players_list = players_list
        self.players_order = players_order
        self.board = board
        self.round_ = 0

        return players_list, players_order, board
Пример #9
0
def test_GameStateMarshallingWithEnoughPlayers_GameStartAction_StateIsNight():
    state = Game()
    state.state = GameStates.MARSHALLING
    state.players = [Player(), Player(), Player(), Player()]
    systemUnderTest = getInstance(state)

    success = systemUnderTest.transition(Actions.START_GAME)

    assert state.state == GameStates.NIGHT
    assert success
Пример #10
0
 def __init__(self, app_ref):
     super().__init__(app_ref)
     self.current_player_label = Label(self, '', 20)
     self.current_player_checker_label = Button(self, '')
     self.current_player_checker_label.config(state=tk.DISABLED, width=5)
     self.max_depth_label = Label(self, '', 12)
     self.board = Board(self)
     self.players: {PlayerType: Player} = {
         PlayerType.COMPUTER: Player(self, PlayerType.COMPUTER, self.board.blue_checkers),
         PlayerType.USER: Player(self, PlayerType.USER, self.board.orange_checkers)
     }
Пример #11
0
def game():

    player1_name = request.form['player1_name']
    player1_choice = request.form['player1_choice']

    player2_name = request.form['player2_name']
    player2_choice = request.form['player2_choice']

    player1 = Player(player1_name, player1_choice)
    player2 = Player(player2_name, player2_choice)

    result = two_player_game(player1, player2)

    return render_template('index.html', result=result, game=game)
def play_game():
    winner = None
    player1 = Player(request.form["name-1"], request.form["weapon-1"])

    # check both player details have been completed
    if request.form.get('name-2'):
        player2 = Player(request.form["name-2"], request.form["weapon-2"])
        winner = rps.play_game(player1, player2)
    else:
        winner = rps.play_game(player1)

    return render_template('result.html',
                           title='Result',
                           winner=winner,
                           weapon=winner.weapon if winner else player1.weapon)
Пример #13
0
    def __init__(self):
        self.screen_width = self.DEFAULT_SCREEN_WIDTH
        self.screen_height = self.DEFAULT_SCREEN_HEIGHT
        # Needs to happen before objects are initted

        pygame.init()
        windowSize = (self.screen_width, self.screen_height)
        self.screen = pygame.display.set_mode(windowSize,
                                              pygame.DOUBLEBUF | pygame.OPENGL)
        # void gluPerspective(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar);
        gluPerspective(60, (windowSize[0] / windowSize[1]), 0.1, 100.0)
        # gluOrtho2D(60, (windowSize[0]/windowSize[1]), 0.1, 100.0)
        glTranslatef(0.0, 0.0, -5)
        self.cubeEdges = ((0, 1), (0, 3), (0, 4), (1, 2), (1, 7), (2, 5),
                          (2, 3), (3, 6), (4, 6), (4, 7), (5, 6), (5, 7))
        self.cubeVertices = ((1, 1, 1), (1, 1, -1), (1, -1, -1), (1, -1, 1),
                             (-1, 1, 1), (-1, -1, -1), (-1, -1, 1), (-1, 1,
                                                                     -1))

        # self.screen = pygame.display.set_mode((self.screen_width, self.screen_height))
        self.player = Player(self.screen_width / 2, self.screen_height / 2)
        self.cursor = Cursor()
        self.running = True
        pygame.mouse.set_visible(False)
        self.event_listeners = {
            'in_game_state': [self.player, self.cursor],
            'menu': [self.cursor]
        }
        self.game_states = ['in_game_state', 'menu', 'options']
        self.current_state = self.game_states[0]
Пример #14
0
    def _handle_register(self, text):
        import hashlib

        self.logger.debug("Recieved register request.")
        # register|username|password|password_confirm
        usr = text.split("|")[1]
        pwd1 = text.split("|")[2]
        pwd2 = text.split("|")[3]
        if Player.where("name", usr).count() > 0:
            self.request.sendall("username_taken".encode("utf8"))
            self.request.close()
            return

        if pwd1 != pwd2:
            self.request.sendall("invalid_password".encode("utf8"))
            self.request.close()
            return

        player = Player()
        player.name = usr
        player.hashed_password = hashlib.sha224(
            pwd1.encode("utf8")).hexdigest()
        player.save()  # Needed to get an ID in the DB
        player.guid = hashlib.sha224(
            (str(player.id) + player.name +
             player.hashed_password).encode("utf8")).hexdigest()
        if player.save():
            self.request.sendall(
                f"register_success|{player.guid}".encode("utf8"))
            self.request.close()
        else:
            self.request.sendall("register_failed!".encode("utf8"))
            self.request.close()
Пример #15
0
    def get_player_by_gender_html(column, gender: Gender):
        players = []

        if not column.table:
            return players

        for link in column.table.tbody.find_all('tr', recursive=False):
            elements = link.find_all("td", recursive=False)

            name = elements[1].text
            # flags = elements[2].text
            number = elements[3].text
            # played = elements[4].text
            single = elements[5].text
            double = elements[6].text
            mix = elements[7].text

            player = Player(name, gender, number,
                            PlayerRanking(single, double, mix))

            comp_id = re.search(r'aspx\?id=(.+?)((?=\&)|$)',
                                elements[1].a.get('href')).group(1)
            player_comp_id = re.search(r'player=(\d+)',
                                       elements[1].a.get('href')).group(1)
            player.add_competition(comp_id, player_comp_id)

            players.append(player)

        return players
Пример #16
0
    async def show_ranking(self, filter_lobby: bool):
        scores = await get_scores(self.channel)
        scores = scores.items()
        scores = sorted(scores, key=lambda item: item[1], reverse=True)
        embed = Embed(colour=Colour.blurple())
        embed.title = "Lobby Rankings"
        rank = 1
        for user_id, score in scores:
            user = self.bot.get_user(user_id)
            if user is None:
                continue

            if filter_lobby and Player(user) not in self.players:
                continue

            embed.add_field(name=f"{rank}. {user}", value=score, inline=False)
            rank += 1

        if len(embed.fields) == 0:
            embed.add_field(
                name="No players",
                value="No players in the lobby (or channel) have a ranking.",
            )

        await self.channel.send(embed=embed)
Пример #17
0
def main():
    cprint(
        ' ███▄ ▄███▓ ▒█████   ███▄    █   ██████ ▄▄▄█████▓▓█████  ██▀███      ██▓███   ██▓    ▄▄▄       ███▄    █ ▓█████▄▄▄█████▓ ',
        'green')
    cprint(
        ' ▓██▒▀█▀ ██▒▒██▒  ██▒ ██ ▀█   █ ▒██    ▒ ▓  ██▒ ▓▒▓█   ▀ ▓██ ▒ ██▒   ▓██░  ██▒▓██▒   ▒████▄     ██ ▀█   █ ▓█   ▀▓  ██▒ ▓▒',
        'green')
    cprint(
        ' ▓██    ▓██░▒██░  ██▒▓██  ▀█ ██▒░ ▓██▄   ▒ ▓██░ ▒░▒███   ▓██ ░▄█ ▒   ▓██░ ██▓▒▒██░   ▒██  ▀█▄  ▓██  ▀█ ██▒▒███  ▒ ▓██░ ▒░',
        'green')
    cprint(
        ' ▒██    ▒██ ▒██   ██░▓██▒  ▐▌██▒  ▒   ██▒░ ▓██▓ ░ ▒▓█  ▄ ▒██▀▀█▄     ▒██▄█▓▒ ▒▒██░   ░██▄▄▄▄██ ▓██▒  ▐▌██▒▒▓█  ▄░ ▓██▓ ░ ',
        'green')
    cprint(
        ' ▒██▒   ░██▒░ ████▓▒░▒██░   ▓██░▒██████▒▒  ▒██▒ ░ ░▒████▒░██▓ ▒██▒   ▒██▒ ░  ░░██████▒▓█   ▓██▒▒██░   ▓██░░▒████▒ ▒██▒ ░ ',
        'green')
    cprint(
        ' ░ ▒░   ░  ░░ ▒░▒░▒░ ░ ▒░   ▒ ▒ ▒ ▒▓▒ ▒ ░  ▒ ░░   ░░ ▒░ ░░ ▒▓ ░▒▓░   ▒▓▒░ ░  ░░ ▒░▓  ░▒▒   ▓▒█░░ ▒░   ▒ ▒ ░░ ▒░ ░ ▒ ░░   ',
        'green')
    cprint(
        ' ░  ░      ░  ░ ▒ ▒░ ░ ░░   ░ ▒░░ ░▒  ░ ░    ░     ░ ░  ░  ░▒ ░ ▒░   ░▒ ░     ░ ░ ▒  ░ ▒   ▒▒ ░░ ░░   ░ ▒░ ░ ░  ░   ░    ',
        'green')
    cprint(
        ' ░      ░   ░ ░ ░ ▒     ░   ░ ░ ░  ░  ░    ░         ░     ░░   ░    ░░         ░ ░    ░   ▒      ░   ░ ░    ░    ░      ',
        'green')
    cprint(
        '        ░       ░ ░           ░       ░              ░  ░   ░                     ░  ░     ░  ░         ░    ░  ░        ',
        'green')
    print()
    player = Player(hp=30)
    map = Map()
    player.set_location(map.get_starting_location())
    game = CommandInterpreter(player, map)
    game.run()
 def read_player(self):
     """
     Generates a table of players and allows to choose a day thanks to its TinyDB ID
     :return: ID choice
     """
     cls()
     icon()
     self.list_all_players = list()
     for self.player_id in search_all_player():
         self.player = Player()
         self.player.load_player(self.player_id)
         self.list_all_players.append(self.player)
     print('Rechercher un Joueur pour ce Tournoi\n')
     print(("=" * 177).center(width_calculated()))
     print(f'| {"ID du Joueur".center(25)} |'
           f'{"Nom du Joueur".center(35)} |'
           f'{"Prénom du Joueur".center(35)} |'
           f'{"Date de naissance du joueur".center(35)} |'
           f'{"Rang".center(35)} |'.center(width_calculated())
           )
     self.list_all_players = sorted(self.list_all_players, key=lambda player: player.name)
     for self.player in self.list_all_players:
         print(("-" * 177).center(width_calculated()))
         print(f'| {str(self.player.id).center(25)} |'
               f'{self.player.name.center(35)} |'
               f'{self.player.first_name.center(35)} |'
               f'{self.player.date_born.center(35)} |'
               f'{str(self.player.rank).center(35)} |'.center(width_calculated())
               )
     print(("-" * 177).center(width_calculated()))
     self.ID = str()
     while not re.match(r"^[0-9]+$", self.ID):
         self.ID = input('Taper l ID du Joueur : ')
     return self.ID
Пример #19
0
def newGameOrLoad() -> Optional[Player]:
    """Asks the user to load or start new game."""
    start_option:str  = askWithOptions(["Start New Game", "Load Saved Game"])
    if start_option == "start new game":
        # Create a new player.
        print("Choose a name...")
        name: str = askInput()
        return Player(name)
    else:
        # Load player.
        saves_path: str = getcwd() + "\\saves"
        if not exists(saves_path):
            mkdir(saves_path)
        saves = [f for f in listdir(saves_path) if isfile(join(saves_path, f))]
        saves.append("Go Back")
        print("Choose a save file:")
        save_file: str = askWithOptions(saves)
        if save_file == "go back":
            return None
        try:
            return pickle.load(open(saves_path + "/" + save_file, "rb+"))
        except TypeError as e:
            print(str(e))
            print("Couldn't load {0}. Make sure the file hasn't been corrupted!\n".format(save_file))
            return None
Пример #20
0
def select(id):
    sql = "SELECT * FROM players WHERE id = %s"
    values = [id]
    result = run_sql(sql, values)[0]
    team = team_repo.select(result["team_id"])
    player = Player(result["name"], result["position"], result["rating"], team, result["id"])
    return player
def update_player(id):
    name = request.form["name"]
    player_info = request.form["player_info"]
    goals_scored = request.form["goals_scored"]
    player = Player(name, player_info, goals_scored, id)
    player_repository.update(player)
    return redirect("/clubs/players")
Пример #22
0
    def setUp(self):
        """
        Initialize test http client and set up the requestContext
        :return:
        """
        # These are needed to avoid a credential error when testing
        os.environ["AWS_ACCESS_KEY_ID"] = "test"
        os.environ["AWS_SECRET_ACCESS_KEY"] = "test"

        from utils import utils
        from micro_airlines_api import app
        self.utils = utils
        self.assertEqual(app.debug, False)
        self.http_client = app.test_client()
        self.test_player_1 = Player(player_id='test_player_1', balance=100000)
        self.request = {
            'requestContext': {
                'authorizer': {
                    'claims': {
                        'cognito:username': self.test_player_1.player_id
                    }
                }
            }
        }
        self.http_client.environ_base['awsgi.event'] = self.request
Пример #23
0
def load_stats_file(name: str):
    """Return player object given a name"""
    if not hash_stats(name):
        return None
    try:
        with open(stats_path(name), "r", encoding='UTF-8') as stats_file:
            player = Player(name)
            player.kills = int(stats_file.readline())
            player.deaths = int(stats_file.readline())
            player.flag_grabs = int(stats_file.readline())
            player.flag_caps_red = int(stats_file.readline())
            player.flag_caps_blue = int(stats_file.readline())
            player.flag_time = float(stats_file.readline())
            player.flagger_kills = int(stats_file.readline())
            player.best_spree = int(stats_file.readline())
            player.wins = int(stats_file.readline())
            player.looses = int(stats_file.readline())
            player.a_haxx0r = str(stats_file.readline())
            player.a_blazeit = str(stats_file.readline())
            player.a_satan = str(stats_file.readline())
            player.a_virgin = str(stats_file.readline())
            stats_file.close()
            return player
    except OSError:
        say("[ERROR] (load) failed to loaded stats for name='" + name +
            "' filename='" + stats_path(name) + "'")
        sys.exit(1)
        return None
def start_multiplayer():
    '''
    Makes two *Player* objects and starts the multiplayer mode.

    Returns
    -------
    None
    '''

    players = Ui.get_inputs(["First player's name", "Second player's name"],
                            "Please provide your names")
    player1 = Player(players[0])
    player2 = Player(players[1])

    gameplay = Game(player1, player2)
    gameplay.start_game()
Пример #25
0
    async def queue(self, ctx: commands.Context, time_to_queue: int = None):
        if ctx.channel.name != os.environ.get("6_MAN_CHANNEL"):
            return

        if self.users_in_queue.get(ctx.author.id, False):
            await ctx.channel.send(
                f"You are already in the queue, {ctx.author.mention}.")
            return

        prefix = await self.bot.get_prefix(ctx.message)
        res = record("SELECT * FROM player WHERE discord_id = ?",
                     ctx.author.id)

        if res is None:
            await ctx.channel.send(
                f"You have not set your mmr, please use: `{prefix}setpeak <amount>`!\n\nIf you need to find what your mmr is, go here: https://rocketleague.tracker.network/"
            )
            return

        # add user to queue
        self.users_in_queue[ctx.author.id] = Player(ctx.author, res[1])

        # if user is only in queue for certain amount of time, create task to check in said time
        if time_to_queue is not False and time_to_queue > 0:
            asyncio.gather(self._remove_user(ctx, time_to_queue))

        embed = embed_template.copy()

        if len(self.users_in_queue) == 1:
            embed.add_field(
                name="Queue Started!",
                value=
                f"{ctx.author.mention} has started a queue, type `{prefix}q` or `{prefix}queue` to join!",
                inline=False,
            )
        else:
            embed.add_field(
                name="User Joined the Queue!",
                value=
                f"{ctx.author.mention} joined the queue, type `{prefix}q` or `{prefix}queue` to join!",
                inline=False,
            )
            embed.add_field(
                name=f"Users in Queue: {str(len(self.users_in_queue))}",
                value=", ".join(player.get_discord_user().mention
                                for player in self.users_in_queue.values()),
                inline=False,
            )

        await ctx.channel.send(embed=embed)

        if len(self.users_in_queue) == 6:
            game_players = []

            for i in range(6):
                game_players.append(self.users_in_queue.popitem(last=False)[1])

            game_handler = GameHandler(6, game_players)

            await self.create_game(ctx, game_handler)
def add_player():
    new_player = request.form['new_player']
    # name = player_repository.select(new_player)

    player = Player(new_player)
    player_repository.save(player)
    return redirect('/players')
 def __init__(self):
     """
     Create the main player menu stats
     """
     cls()
     icon()
     self.list_all_player_id = search_all_player()
     self.list_players = []
     for self.player_id in self.list_all_player_id:
         self.player = Player()
         self.player.load_player(int(self.player_id))
         self.list_players.append(self.player)
     print("Menu des stats Joueur \n\n"
           "1. Voir la liste des Joueurs par ordre Alphabétique\n"
           "2. Voir la liste des Joueurs par ordre de Rang\n"
           "3. Retour\n")
     self.choice_menu = 0
     while not 3 >= int(self.choice_menu) >= 1:
         self.choice_menu = input(
             "Faites votre choix un tapant le numéro de menu (ex. 1, 2, ne taper qu'un seul choix) : "
         )
         if not self.choice_menu.isdigit():
             self.choice_menu = 0
     if int(self.choice_menu) == 1:
         self.show_players_sort(False)
         input()
     elif int(self.choice_menu) == 2:
         self.show_players_sort(True)
         input()
     elif int(self.choice_menu) == 3:
         pass
Пример #28
0
    def add_player(self):
        c = main.MainController()
        last_name = c.input_with_options('Last name : ')
        first_name = c.input_with_options('First name : ')

        date_regex = re.compile(r'^(0[1-9]|[1-2][0-9]|3[0-1])'
                                r'/(0[1-9]|1[0-2])/[0-9]{4}$')
        birthday = c.input_with_options(
            'Birthday (dd/mm/yyyy) : ',
            date_regex,
            'Please enter a valid date format (dd/mm/yyyy)',
            loop=True)
        gender = c.input_with_options('gender (m/w) : ',
                                      re.compile(r'^[m|w]$'),
                                      'Please enter m or w',
                                      loop=True)

        rank = c.input_with_options('Current rank : ',
                                    re.compile('^[0-9]+$'),
                                    'Please enter en positive number',
                                    loop=True)

        player = Player(last_name, first_name, birthday, gender, rank)

        Player.add_player(player)
Пример #29
0
def select(id):
    sql = "SELECT * FROM players WHERE id = %s"
    values = [id]
    result = run_sql(sql, values)[0]
    player = Player(result["name"], result["player_info"],
                    result["goals_scored"], result["id"])
    return player
Пример #30
0
def get_player_list(url):
    try:
        page = requests.get(url)
    except:
        print('Error! Could not get file at url:', url)
        return PlayerList([])

    soup = BeautifulSoup(page.content, "html.parser")
    table = soup.find(id="salaries-table")
    rows = table.find_all("tr")

    player_list = []

    for row in rows:
        cells = row.find_all("td")
        player_info = {}

        for cell in cells:
            player_info[cell.attrs["class"][0]] = cell.text

        player_list.append(
            Player(
                name=player_info["player-name"],
                salary=player_info["player-salary"],
                year=player_info["player-year"],
                level=player_info["player-level"],
            ))

    return PlayerList(player_list)