Stash.get_winner fix
This commit is contained in:
@@ -220,18 +220,18 @@ class Stash():
|
|||||||
def get_winner(self) -> int:
|
def get_winner(self) -> int:
|
||||||
if not self.is_completed():
|
if not self.is_completed():
|
||||||
raise BridzikException('Nie je mozne urcit vitaza, kopka nie je dohrana.')
|
raise BridzikException('Nie je mozne urcit vitaza, kopka nie je dohrana.')
|
||||||
winner = None
|
winner = self.first_player
|
||||||
winning_card = self.get_first_card()
|
winning_card = self.get_first_card()
|
||||||
for player_number in range(4):
|
for player_number in range(4):
|
||||||
if self._cards[player_number].color == self.get_first_card().color \
|
if self._cards[player_number].color == self.get_first_card().color \
|
||||||
or self._cards[player_number].color == Card_colors['HEARTS']:
|
or self._cards[player_number].color == Card_colors['HEARTS']:
|
||||||
if self._cards[player_number].color == winning_card.color \
|
if self._cards[player_number].color == winning_card.color:
|
||||||
and self._cards[player_number].value >= winning_card.value:
|
if self._cards[player_number].value >= winning_card.value:
|
||||||
winning_card = self._cards[player_number]
|
winning_card = self._cards[player_number]
|
||||||
winner = player_number
|
winner = player_number
|
||||||
elif self._cards[player_number].color == Card_colors['HEARTS']:
|
elif self._cards[player_number].color == Card_colors['HEARTS']:
|
||||||
winning_card = self._cards[player_number]
|
winning_card = self._cards[player_number]
|
||||||
winner = player_number
|
winner = player_number
|
||||||
return winner
|
return winner
|
||||||
|
|
||||||
def get_active_player(self) -> int:
|
def get_active_player(self) -> int:
|
||||||
|
|||||||
@@ -65,11 +65,11 @@ class StashCase(unittest.TestCase):
|
|||||||
|
|
||||||
# highest heart takes the stash
|
# highest heart takes the stash
|
||||||
heart_upper = Card(Card_colors['HEARTS'], Card_values['UPPER'])
|
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)
|
s4 = Stash(0)
|
||||||
for i in range(4):
|
for i in range(4):
|
||||||
s4.add_card(i, c4[i])
|
s4.add_card(i, c4[i])
|
||||||
self.assertEqual(s4.get_winner(), 3)
|
self.assertEqual(s4.get_winner(), 2)
|
||||||
|
|
||||||
# test exceptions
|
# test exceptions
|
||||||
s5 = Stash(3)
|
s5 = Stash(3)
|
||||||
|
|||||||
Reference in New Issue
Block a user