Exemple #1
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 #2
0
    def test_if_clear_announcements_for_round_works_as_expected(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(['9c', '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()
        r.clear_scoring_for_round()

        self.assertEqual(team2.player1.belots, [])
        self.assertEqual(team2.player1.trieces, [])
        self.assertEqual(team2.player2.belots, [])
        self.assertEqual(team2.player2.quintes, [])
Exemple #3
0
    def play_game(self, write_to_txt, write_to_json):
        round_id = 1

        while not is_game_won(self.team1, self.team2):
            contract = self.set_contract()

            r = Round(round_id=round_id,
                      team1=self.team1,
                      team2=self.team2,
                      contract=contract)
            r.compare_best_announcements()

            write_to_txt.write_results(self.team1.team_points,
                                       self.team2.team_points, round_id)
            self.dicts[r.round_id] = r.to_dict()

            r.clear_scoring_for_round()
            round_id += 1

        write_to_txt.write_game_end_output(self.team1, self.team2)
        write_to_json.add_game(self.game_id, self.to_dict())

        clear_team_points(self.team1, self.team2)