Exemple #1
0
    def __load_entities(self):
        self.ball = Ball(
            position=(SCREEN_WIDTH / 2 - 15, CENTER_HEIGHT - 15)
        )

        self.players = {
            "player_1": Player(
                keys={
                    "up": K_UP,
                    "down": K_DOWN,
                },
                position=(SCREEN_WIDTH - 20, CENTER_HEIGHT - 70),
                size=player_size
            ),
            "player_2": Player(
                keys={
                    "up": K_w,
                    "down": K_s,
                },
                position=(10, CENTER_HEIGHT - 70),
                size=player_size
            )
        }

        self.entities = [
            self.players["player_1"],
            self.players["player_2"],
            self.ball,
        ]
 def setUp(self):
     pygame.init()
     self.bullets = pygame.sprite.Group()
     self.sprites = pygame.sprite.Group()
     self.screen = pygame.display.set_mode((0, 0))
     self.player = Player(self.sprites, self.bullets)
     self.player_copy = Player(self.sprites, self.bullets)
    def test_if_constructor_sets_attributes_correctly(self):
        player1 = Player(name='Marto')
        player2 = Player(name='Rado')
        team = Team(player1=player1, player2=player2)

        self.assertEqual(team.team_name, 'Team')
        self.assertIs(player1, team.player1)
        self.assertIs(player2, team.player2)
Exemple #4
0
 def __create_default_game_state(self, score_rule: ScoreRule) -> GameState:
     empty_scheme = None
     player1 = Player(1, empty_scheme, ControllerType.player.value)
     player2 = Player(2, empty_scheme, ControllerType.player.value)
     return GameState(size=Point(10, 10),
                      initial_position=InitialPosition.empty,
                      score_rule=score_rule,
                      players=(player1, player2))
    def test_if_clear_announcements_works_correctly(self):
        player1 = Player(name='Marto')
        player1.set_hand(['10h', 'Jh', 'Qh'])
        player2 = Player(name='Rado')
        player2.set_hand(['7s', '8s', '9s'])
        team = Team(player1=player1, player2=player2)
        team.clear_announcements()

        self.assertEqual(team.player1.get_announcements(), [])
        self.assertEqual(team.player2.get_announcements(), [])
Exemple #6
0
    def test_if_constructor_sets_attributes_correctly(self):
        player1 = Player(name='Marto')
        player2 = Player(name='Rado')
        team1 = Team(player1=player1, player2=player2)
        player3 = Player(name='Gosho')
        player4 = Player(name='Pesho')
        team2 = Team(player1=player1, player2=player2)
        r = Round(round_id=1, team1=team1, team2=team2)

        self.assertEqual(r.round_id, 'round 1')
        self.assertEqual(r.team1, team1)
        self.assertEqual(r.team2, team2)
    def test_if_constructor_sets_attributes_correctly(self):
        player1 = Player(name='Marto')
        player2 = Player(name='Rado')
        team1 = Team(team_name='Mechetata', player1=player1, player2=player2)

        player3 = Player(name='Gosho')
        player4 = Player(name='Pesho')
        team2 = Team(team_name='Kotetata', player1=player3, player2=player4)
        g = Game(game_id=1, team1=team1, team2=team2)

        self.assertEqual(g.game_id, 'game 1')
        self.assertEqual(g.team1, team1)
        self.assertEqual(g.team2, team2)
Exemple #8
0
def main():
    player1 = Player(name='Marto')
    player2 = Player(name='Rado')
    team1 = Team(team_name='Mechetata', player1=player1, player2=player2)

    player3 = Player(name='Gosho')
    player4 = Player(name='Pesho')
    team2 = Team(team_name='Kotetata', player1=player3, player2=player4)
    w = WriteToTxt(team1, team2)
    g1 = Game(game_id=1, team1=team1, team2=team2, write_to_txt=w)
    g1.play_game()
    g1.to_json()
    g2 = Game(game_id=2, team1=team1, team2=team2, write_to_txt=w)
    g2.play_game()
    g2.to_json()
Exemple #9
0
    def test_check_if_hand_has_zero_belots(self):
        pl = Player()
        pl.check_if_hand_contains_belots(
            ['7s', '8d', '9s', '10c', 'Qd', 'Qh', 'As', 'Ah'], 'All Trumps')

        self.assertEqual(pl.points, 0)
        self.assertEqual(pl.belots, [])
Exemple #10
0
    def create(self):
        self.player = Player(self.controller)
        self.hunger = Hunger(self.player)

        wall_x = 38
        wall_y = [10, 11, 12]

        walls = [
            Wall(wall_x, wall_y[0]),
            Wall(wall_x, wall_y[1]),
            Wall(wall_x, wall_y[2]),
        ]

        food_x = [43, 43, 40]
        food_y = [10, 12, 12]

        food_list = [
            Food(food_x[0], food_y[0]),
            Food(food_x[1], food_y[1]),
            Food(food_x[2], food_y[2]),
        ]

        entities = [
            self.player,
            self.hunger,
        ]

        entities.extend(food_list)
        entities.extend(walls)

        self.updater = Updater(entities)
        self.collider = Collider(entities)
        self.render = Render(entities)
Exemple #11
0
def start(screen: pygame.surface.Surface):
    is_game_open = True
    clock = pygame.time.Clock()  # Часы

    # Игрок
    player = Player(screen.get_width() * 0.5, screen.get_height() * 0.5)
    # Группа со спрайтами игрока и его приуела
    player_sprites = pygame.sprite.Group()
    player_sprites.add(player)
    player_sprites.add(player.scope)

    # Фоновая музыка
    # FIXME: место на котором игра пролагивает (Никита пофиксит)
    pygame.mixer.music.load(os.path.join("assets/audio", "game_bg.ogg"))
    pygame.mixer.music.play(-1)
    pygame.mixer.music.set_volume(DEFAULT_MUSIC_VOLUME)

    # Игровой цикл
    while is_game_open:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                is_game_open = True
                break

        # Очистка экрана
        screen.fill((255, 255, 255))
        # Обновляем и выводим все спрайты
        player_sprites.update()
        player_sprites.draw(screen)

        clock.tick(FPS)
        pygame.display.flip()
Exemple #12
0
    def test_if_get_announcements_works_correctly_when_there_are_announcements_of_same_type(
            self):
        player = Player()
        player.set_hand(['10c', 'Jc', 'Qc', 'Jh', 'Qh', 'Kh'], 'All Trumps')
        res = ['belot', 'triece', 'triece']

        self.assertEqual(res, player.get_announcements())
Exemple #13
0
    def test_check_if_hand_contains_belots_works_with_not_matching_belots_and_contract(
            self):
        player = Player()
        player.check_if_hand_contains_belots(['Qs', 'Ks'], 'Hearts')

        self.assertEqual(player.points, 0)
        self.assertEqual(player.belots, [])
Exemple #14
0
    def test_if_best_declaration_works_correctly_when_there_are_announcements_of_the_same_type(
            self):
        player = Player()
        player.set_hand((['10c', 'Jc', 'Qc', 'Kc', 'Jh', 'Qh', 'Kh', 'Ah']))
        res = ['Jh', 'Qh', 'Kh', 'Ah']

        self.assertEqual(res, player.best_announcement())
Exemple #15
0
    def test_if_check_if_hand_contains_trieces_works_correctly_when_there_is_a_triece(
            self):
        player = Player()
        res = player.check_if_hand_contains_trieces({'10c', 'Jc', 'Qc'})
        exp = set()

        self.assertEqual(res, exp)
        self.assertEqual(player.trieces, [['10c', 'Jc', 'Qc']])
Exemple #16
0
    def test_check_if_hand_contains_multiple_belots_and_contract_is_All_Trumps(
            self):
        player = Player()
        player.check_if_hand_contains_belots(['Qs', 'Ks', 'Qh', 'Kh'],
                                             'All Trumps')

        self.assertEqual(player.points, 40)
        self.assertEqual(player.belots, [['Qs', 'Ks'], ['Qh', 'Kh']])
Exemple #17
0
    def test_check_if_hand_contains_multiple_belots_and_contract_covers_only_one(
            self):
        player = Player()
        player.check_if_hand_contains_belots(['Qs', 'Ks', 'Qh', 'Kh'],
                                             'Hearts')

        self.assertEqual(player.points, 20)
        self.assertEqual(player.belots, [['Qh', 'Kh']])
Exemple #18
0
 def create_player(self):
     controller_type = controllers.CONTROLLER_FROM_NAME[
         self._controller_type_combobox.currentText()]
     scheme_name = self._scheme_combobox.currentText()
     scheme = self._schemes[scheme_name]
     return Player(player_id=self._player_id,
                   color_scheme=scheme,
                   controller=controller_type)
Exemple #19
0
    def test_if_check_if_hand_contains_trieces_works_correctly_when_there_is_not_triece(
            self):
        player = Player()
        res = player.check_if_hand_contains_trieces({'10c', 'Jc', 'Qh', 'Kh'})
        exp = {'10c', 'Jc', 'Qh', 'Kh'}

        self.assertEqual(res, exp)
        self.assertEqual(player.trieces, [])
Exemple #20
0
    def test_if_check_if_hand_contains_quintes_works_correctly_when_there_is_a_quinte(
            self):
        player = Player()
        res = player.check_if_hand_contains_quintes(
            {'10h', 'Jh', 'Qh', 'Kh', 'Ah'})
        exp = set()

        self.assertEqual(res, exp)
        self.assertEqual(player.quintes, [['10h', 'Jh', 'Qh', 'Kh', 'Ah']])
Exemple #21
0
    def test_check_if_hand_contains_carre_works_with_zero_carre(self):
        pl = Player()
        res = pl.check_if_hand_contains_carres(
            {'8s', '9c', '10d', 'Jh', 'Qs', 'Kh', 'Ac', 'Ad'})
        exp = {'8s', '9c', '10d', 'Jh', 'Qs', 'Kh', 'Ac', 'Ad'}

        self.assertEqual(res, exp)
        self.assertEqual(pl.points, 0)
        self.assertEqual(pl.carres, [])
    def __init__(self, screen):
        self.screen = screen

        self.player = Player(192, 32768)
        self.menu = None
        self.controls = None
        self.state = None

        self.startMenu()
Exemple #23
0
    def test_if_compare_best_announcements_works_when_all_announcements_check_out(self):
        player1 = Player(name='Marto')
        player2 = Player(name='Rado')
        player1.set_hand(['Jh', 'Qh', 'Kh'])
        player2.set_hand(['10d', 'Jd', 'Qd', 'Kd'])
        team1 = Team(team_name='Mechetata', player1=player1, player2=player2)

        player3 = Player(name='Gosho')
        player4 = Player(name='Pesho')
        player3.set_hand(['Js', 'Qs', 'Ks'])
        player4.set_hand(['10c', 'Jc', 'Qc', 'Kc'])
        team2 = Team(team_name='Kotetata', player1=player3, player2=player4)
        r = Round(round_id=1, team1=team1, team2=team2)

        r.compare_best_announcements()

        self.assertEqual(team1.player1.get_announcements(), ['belot'])
        self.assertEqual(team2.player2.get_announcements(), ['belot'])
Exemple #24
0
    def test_if_check_if_hand_contains_quintes_works_correctly_when_there_is_no_quinte(
            self):
        player = Player()
        res = player.check_if_hand_contains_quintes(
            {'10h', 'Jh', 'Qc', 'Kc', 'As'})
        exp = {'10h', 'Jh', 'Qc', 'Kc', 'As'}

        self.assertEqual(res, exp)
        self.assertEqual(player.quintes, [])
Exemple #25
0
def reset_map(game_map, map_width, map_height, max_rooms, min_room_size, max_room_size, min_npcs,
              max_npcs, colors, entities, message_x, message_width, message_height):
    """ Fully resets the game as a whole without closing the window. """
    floor_number = 1
    player = Player(player_stats[0], player_stats[1], player_stats[2], player_stats[3], player_stats[4], game_map.tiles,
                    screen_width // 2, screen_height // 2, '@', colors.get("player"), "player", True)
    return player, GameStates.PLAYER_TURN, regenerate_map(player, map_width, map_height, max_rooms, min_room_size,
                                                          max_room_size, min_npcs, max_npcs, colors, entities,
                                                          floor_number, message_x, message_width, message_height)
Exemple #26
0
def test_collect_money_on_go():
    players = [Player('Mack')]
    board = Board(board=SQUARES)
    game = MonopolyGame(board, dice_function=lambda: 1)
    game.add_players(players)
    go_square = game.board._squares[0]
    assert players[0].position == game.board.start_square
    balance = players[0].balance
    game.take_action(players[0])
    assert balance + 200 == players[0].balance
Exemple #27
0
    def test_check_if_hand_contains_carre_finds_low_carre_and_adds_points(
            self):
        player = Player()
        res = player.check_if_hand_contains_carres(
            {'7s', '8d', 'Qs', 'Qc', 'Qd', 'Qh', 'As', 'Ah'})

        exp = {'7s', '8d', 'As', 'Ah'}

        self.assertEqual(res, exp)
        self.assertEqual(player.points, 100)
        self.assertEqual(player.carres, [['Qs', 'Qc', 'Qd', 'Qh']])
Exemple #28
0
def main():
    player1 = Player(name='Marto')
    player2 = Player(name='Rado')
    player1.set_hand(['Jh', 'Qh', 'Kh'])
    player2.set_hand(['10d', 'Jd', 'Qd', 'Kd'])
    team1 = Team(team_name='Mechetata', player1=player1, player2=player2)

    player3 = Player(name='Gosho')
    player4 = Player(name='Pesho')
    player3.set_hand(['Js', 'Qs', 'Ks'])
    player4.set_hand(['10c', 'Jc', 'Qc', 'Kc'])
    team2 = Team(team_name='Kotetata', player1=player3, player2=player4)
    r = Round(round_id=1, team1=team1, team2=team2)

    print(team1.best_announcement())
    print(team2.best_announcement())
    print(r.compare_best_announcements())
    print(team1.player1.get_announcements(), team1.player2.get_announcements())

    print(prettyjson(r.to_dict()))
Exemple #29
0
    def setup(self) -> None:
        arcade.set_background_color(arcade.color.YELLOW_ORANGE)

        # Add initial scene entities
        self.add_scene_entity(
            Ball(self,
                 100,
                 100,
                 behaviours=[
                     Bounce(speed=200, direction=[1, -1], screen_collide=50)
                 ]))
        self.add_scene_entity(
            Ball(self,
                 300,
                 300,
                 behaviours=[Bounce(speed=200, screen_collide=50)]))
        self.add_scene_entity(
            Ball(self,
                 1000,
                 100,
                 behaviours=[
                     Bounce(speed=250, direction=[1, -1], screen_collide=50)
                 ]))
        self.add_scene_entity(
            Ball(self,
                 100,
                 500,
                 behaviours=[
                     Bounce(speed=250, direction=[1, -1], screen_collide=50)
                 ]))
        self.add_scene_entity(Ball(self, 500, 500))
        self.add_scene_entity(
            Ball(self,
                 700,
                 500,
                 behaviours=[
                     Bounce(speed=250, direction=[1, -1], screen_collide=50)
                 ]))
        self.add_scene_entity(
            Ball(self,
                 800,
                 500,
                 behaviours=[
                     Bounce(speed=250, direction=[1, -1], screen_collide=50)
                 ]))
        self.add_scene_entity(
            Ball(self,
                 500,
                 200,
                 behaviours=[
                     Bounce(speed=250, direction=[1, -1], screen_collide=50)
                 ]))
        self.add_scene_entity(Ball(self, 750, 250))
        self.add_scene_entity(Player(self, 500, 100, key_observer=True))
Exemple #30
0
    def __init__(self, playerCount):
        for i in range(playerCount):
            p = Player()
            self.players.append(p)

        for i in range(2, 15):
            for j in range(4):
                self.deck.append(Card(i, {0: Suits.Clubs,
                                          1: Suits.Diamonds,
                                          2: Suits.Spades,
                                          3: Suits.Hearts}[j]))