Round.get_points_summary added
This commit is contained in:
@@ -173,6 +173,17 @@ class Round():
|
||||
def is_guessing_completed(self):
|
||||
return len(self.guesses) == 4
|
||||
|
||||
def get_points_summary(self) -> []:
|
||||
points_summary = [0]*4
|
||||
stashes_summary = self.get_stashes_winner_summary()
|
||||
if self.is_completed():
|
||||
for player in range(4):
|
||||
if self.guesses[player] == stashes_summary[player]:
|
||||
points_summary[player] = 10 + self.guesses[player]
|
||||
return points_summary
|
||||
else:
|
||||
raise BridzikException('Kolo nie je ukoncene')
|
||||
|
||||
def get_stashes_winner_summary(self) -> []:
|
||||
summary = [0]*4
|
||||
for stash in self.stashes:
|
||||
|
||||
@@ -314,6 +314,41 @@ class RoundCase(unittest.TestCase):
|
||||
r.play_card(1, c1[1])
|
||||
self.assertEqual(r.get_stashes_winner_summary(), [1, 0, 1, 0])
|
||||
|
||||
def test_get_points_summary(self):
|
||||
shuffler = lambda list: None
|
||||
c0 = [
|
||||
Card(Card_colors['BELLS'], Card_values['UPPER']),
|
||||
Card(Card_colors['HEARTS'], Card_values['UPPER'])
|
||||
]
|
||||
c1 = [
|
||||
Card(Card_colors['BELLS'], Card_values['C7']),
|
||||
Card(Card_colors['HEARTS'], Card_values['C10'])
|
||||
]
|
||||
c2 = [
|
||||
Card(Card_colors['BELLS'], Card_values['ACE']),
|
||||
Card(Card_colors['BELLS'], Card_values['C8'])
|
||||
]
|
||||
c3 = [
|
||||
Card(Card_colors['LEAVES'], Card_values['C7']),
|
||||
Card(Card_colors['BELLS'], Card_values['LOWER'])
|
||||
]
|
||||
c = ['dummy']*24 + c0 + c1 + c2 + c3
|
||||
r = Round(6, 1, c, shuffler)
|
||||
r.add_player_guess(1, 0)
|
||||
r.add_player_guess(2, 1)
|
||||
r.add_player_guess(3, 0)
|
||||
r.add_player_guess(0, 2)
|
||||
|
||||
r.play_card(0, c0[0])
|
||||
r.play_card(1, c1[0])
|
||||
r.play_card(2, c2[0])
|
||||
r.play_card(3, c3[1])
|
||||
|
||||
r.play_card(2, c2[1])
|
||||
r.play_card(3, c3[0])
|
||||
r.play_card(0, c0[1])
|
||||
r.play_card(1, c1[1])
|
||||
self.assertEqual(r.get_points_summary(), [0, 10, 11, 10])
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user