From 40baa59bd3b6ad622b39b975a363d65a5bfe39c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20Ke=C3=9Fler?= Date: Fri, 10 Nov 2023 12:05:23 +0100 Subject: [PATCH] add method to check for criticality of card --- src/hanabi/hanab_game.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/hanabi/hanab_game.py b/src/hanabi/hanab_game.py index 728ab5d..fcfb891 100644 --- a/src/hanabi/hanab_game.py +++ b/src/hanabi/hanab_game.py @@ -310,6 +310,17 @@ class GameState: def is_trash(self, card: DeckCard): return self.stacks[card.suitIndex] >= card.rank + def is_critical(self, card: DeckCard): + if card.rank == 5: + return True + if self.is_trash(card): + return False + count = 0 + for hand in self.hands: + count += hand.count(card) + count += self.deck[self.progress:].count(card) + return count == 1 + def holding_players(self, card): for (player, hand) in enumerate(self.hands): if card in hand: