Классы Python: карточная игра для 2 игроков, большинство тузов выигрывают

#python #card

Вопрос:

Я пытаюсь создать карточную игру с классами, которые должны быть выиграны игроком, у которого больше всего тузов. Функция состоит в том, чтобы создать полную колоду карт, раздать по 5 карт каждому 2 игрокам, а затем отобразить игрока, у которого больше всего тузов. Я борюсь с последней порцией.

 class  Card:
    def __init__(self, rank, suit):
        self.suit = suit
        self.rank = rank
        
    def get_rank(self):
        #self.get_rank = ['Ace', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'Jack', 'Queen', 'King']
        if self.rank == 1:
            trueRank = "Ace"
        elif self.rank == 11:
            trueRank = "Jack"
        elif self.rank == 12:
            trueRank = "Queen"
        elif self.rank == 13:
            trueRank = "King"
        else:
            trueRank = str(self.rank)
        return "{rank} of {suit}".format(rank = trueRank, suit = self.suit)
       
    def display(self):
        print ("{} of {}".format(self.suit, self.rank))
    
class Deck:
    def __init__(self):
        self.cards = []
        self.make()
        
    def make(self):
        for s in ["Spades", "Clubs", "Diamonds", "hearts"]:
            for v in ['Ace','Two','Three','Four','Five','Six','Seven','Eight','Nine','Ten','Jack','Queen','King']:
                self.cards.append(Card(s,v))
    def display(self):
        for c in self.cards:
            c.display()
    def shuffle(self):
        for i in range(len(self.cards) - 1, 0, -1):
            r = random.randint(0,i)
            self.cards[i], self.cards[r] = self.cards[r], self.cards[i]
    def deal(self):
        return self.cards.pop()

class Player:
    def __init__(self, name):
        self.name = name
        self.hand = []
        self.ace = 0
        
    def add(self, deck):
        self.hand.append(deck.deal())
        return self
    def ace_cards(self):
        cards = 0
        for card in self.ace:
            card = str(self.hand)
            if card == 'Ace':
                cards  = 1
        return cards
    
            
    def display(self):
        for card in self.hand:
            card.display()
def main():
    pass
    # create one deck and shuffle it
    deck = Deck()
   
 
    deck.shuffle()
    # deck.display()
      
    #create both players 
    player1 = Player('player 1')
    player2 = Player('player 2')
    #populate the players hands with 5 cards each 
    player1.add(deck)
    player2.add(deck)
    player1.add(deck)
    player2.add(deck)
    player1.add(deck)
    player2.add(deck)
    player1.add(deck)
    player2.add(deck)
    player1.add(deck)
    player2.add(deck)  
    player1.add(deck)
    player2.add(deck)    
 
    #display the players
    print('This is the hand of player 1:')
    player1.display()
    print('')
    print('This is the hand of player 2:')
    player2.display()    
    print('')
    #display the number of ace cards in each players hands
    print(str(player1.ace_cards()))
    print('Number of ace cards in each player''s hand:')
    print('Player 1 has aces')
    print('Player 2 has aces')
    print('')
    #display the winner
 

Заранее спасибо!
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Комментарии:

1. добавьте значение суммы на карты. cards = {'Nine':9, 'Queen':10, 'Ace':11}

2. Куда это должно привести? В классе карт в разделе get_rank?