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', '2 of Spades', '7 of Diamonds', '4 of Clubs',
'2 of Spades', '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, 'K': 10, 'Q': 10, '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 还很陌生,我看到了一个建议,那就是创建一个新的套牌,我做到了。一切都无济于事。