使用 OOP 重置一副纸牌

问题描述

suits = ['Spades','Clubs','Diamonds','Hearts']
nums = [2,3,4,5,6,7,8,9,10,'J','Q','K','A']
def makeDeck():
    return ['8 of Diamonds','9 of Hearts','2 of Spades','7 of Diamonds','4 of Clubs','4 of Spades','3 of Spades','2 of Spades']

    # return [f"{j} of {i}" for j in nums for i in suits]


class Deck:
    global playerChips
    # deck = (lambda suits,nums: [f"{j} of {i}" for j in nums for i in suits])
    changeCardsDuring = {'A': [1,11],'K': 10,'Q': 10,'J': 10}
    changeCardsstart = {'A': 11,'J': 10}
    playerCards = []  # will just contain initial 2 cards
    dealerCards = []  # will just contain initial 2 cards
    playerCardValues = []  # will contain the numerical value for the num/face cards for all the cards
    dealerCardValues = []  # will contain the numerical value for the num/face cards for all the cards
    PlayerStatus = ''
    DealerStatus = ''

    deck = makeDeck()

    def __init__(self):
        pass

    def distribute(self,CardValues,PersonCards):
        for i in range(2):
            card = self.deck[0]
            PersonCards.append(card)
            card = self.deck[0][0]
            if card in self.changeCardsstart:
                CardValues.append(self.changeCardsstart.get(card))
            else:
                CardValues.append(int(card))  # this will append into string format
            self.deck.pop(0)  # this will return [11,10]
            CardValues.sort()
            print(CardValues)

    def give(self):
        Deck.distribute(self,self.playerCardValues,self.playerCards)
        Deck.distribute(self,self.dealerCardValues,self.dealerCards)
        return f"Player,your cards are {self.playerCards[0]} and {self.playerCards[1]} \nDealer your card is {self.dealerCards[0]} and x

game1 = Deck() ” 但是,每次我运行 game1.give() 时,它都不会给我一个新的套牌,而是一遍又一遍地修改一套套牌。我对 OOP 还很陌生,我看到了一个建议,那就是创建一个新的套牌,我做到了。一切都无济于事。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...