def defends(self, attack_cards, trump_suit): print("Here're your cards: ") self.deck.show() print("Comp attacks you with these cards: ") for i in range(len(attack_cards)): print(VALUES_DICT[attack_cards.get_card_by_index(i).value], attack_cards.get_card_by_index(i).suit) defend_cards = Deck() cards_indices = list( map( int, input( "What cards do you put for attack? Write their indices (if you can't beat a card, type '-1'): " ).split())) for card_index in cards_indices: for attack_card in attack_cards: if card_index == -1: self.deck.add_cards(attack_cards) return "You couldn't defend and picked up cards" defend_card = self.deck.get_card_by_index(card_index) if is_beatable(defend_card, attack_card, trump_suit) == False: return "Wrong action" defend_cards.add_card(defend_card) print("You're throwing these cards: ") defend_cards.show() updated_deck = Deck() for j in range(len(self.deck)): if j in cards_indices: continue updated_deck.add_card(self.deck[j]) self.deck = updated_deck print("Here're your cards now: ") self.deck.show() return "Defended succesfully"
def testAddCard(self): d = Deck() card = d.pop_card() self.assertEqual(51, len(d.cards)) d.add_card(card) self.assertEqual(52, len(d.cards))
def test1(): card1 = Card("spades", 10) card2 = Card("diamonds", 11) deck1 = Deck() deck1.add_card(card1) deck1.add_card(card2) for card in deck1: card.show_card()
def attacks(self, trump_suit): plain_suit = Deck( ) # plain_suit contains all comp's non-trump suit cards for i in self.deck.deck: # I forgot why? if i.suit != trump_suit: plain_suit.add_card(i) attack_cards = Deck() min_card = plain_suit.find_min() for i, card in enumerate(plain_suit): #print("a plain suit card:") #card.show_card() if are_equal_cards(card, min_card, trump_suit): attack_cards.add_card(card) self.deck.delete_card(i) return "Comp attack with these cards: ", attack_cards
def attacks(self, trump_suit): self.deck.show() # delete later cards_indices = list( map( int, input( "What cards do you put for attack? Write their indices: " ).split())) attack_cards = Deck() for card_index in cards_indices: attack_card = self.deck.get_card_by_index(card_index) attack_cards.add_card(attack_card) attack_cards.show() updated_deck = Deck() for j in range(len(self.deck)): if j in cards_indices: continue updated_deck.add_card(self.deck[j]) self.deck = updated_deck print("Here're your cards now: ") self.deck.show() return "You're attacking with these cards: ", attack_cards