微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 OOP 重置一副纸牌

如何解决使用 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.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?