diff --git a/game.py b/game.py index 9e737a1..f6aa875 100644 --- a/game.py +++ b/game.py @@ -220,18 +220,18 @@ class Stash(): def get_winner(self) -> int: if not self.is_completed(): raise BridzikException('Nie je mozne urcit vitaza, kopka nie je dohrana.') - winner = None + winner = self.first_player winning_card = self.get_first_card() for player_number in range(4): if self._cards[player_number].color == self.get_first_card().color \ or self._cards[player_number].color == Card_colors['HEARTS']: - if self._cards[player_number].color == winning_card.color \ - and self._cards[player_number].value >= winning_card.value: - winning_card = self._cards[player_number] - winner = player_number + if self._cards[player_number].color == winning_card.color: + if self._cards[player_number].value >= winning_card.value: + winning_card = self._cards[player_number] + winner = player_number elif self._cards[player_number].color == Card_colors['HEARTS']: - winning_card = self._cards[player_number] - winner = player_number + winning_card = self._cards[player_number] + winner = player_number return winner def get_active_player(self) -> int: diff --git a/tests.py b/tests.py index 433af9c..9f4f8ce 100644 --- a/tests.py +++ b/tests.py @@ -65,11 +65,11 @@ class StashCase(unittest.TestCase): # highest heart takes the stash heart_upper = Card(Card_colors['HEARTS'], Card_values['UPPER']) - c4 = [leaves_8, leaves_lower, heart_7, heart_upper] + c4 = [leaves_8, leaves_lower, heart_upper, heart_7] s4 = Stash(0) for i in range(4): s4.add_card(i, c4[i]) - self.assertEqual(s4.get_winner(), 3) + self.assertEqual(s4.get_winner(), 2) # test exceptions s5 = Stash(3)