Ejemplo n.º 1
0
 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"
Ejemplo n.º 2
0
    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))
Ejemplo n.º 3
0
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()
Ejemplo n.º 4
0
 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
Ejemplo n.º 5
0
 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