def _remove_card_board(test_seq, card: Card, num: int = None) -> int: onum = 0 for look_card in test_seq: if card.alike(look_card): n = test_seq[look_card] if num is None or n <= (num - onum): onum += n test_seq[look_card] = 0 else: test_seq[look_card] -= (num - onum) onum = num test_seq += Counter() return onum
def find_all_copies(self, item: Card, area: CardDictTy = None) \ -> CardListTy: if area is None: area = self.full_deck return [(c, n) for c, n in area.items() if item.alike(c)]
def contains_variant(self, item: Card) -> bool: return any( item.alike(other) for other in itertools.chain(self.mainboard, self.sideboard))