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)
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(), [])
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)
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()
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, [])
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)
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()
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())
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, [])
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())
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']])
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']])
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']])
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)
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, [])
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']])
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()
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'])
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, [])
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)
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
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']])
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()))
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))
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]))