【发布时间】:2020-09-12 10:59:25
【问题描述】:
我是一名初学者,我的任务是(作为课程的一部分)构建二十一点游戏。
我的初始代码可以在下面找到。我坚持的部分是当我进入 Deck 类并且必须创建 Deal 方法时。我正在努力解决的是如何分发最初的四张牌,将它们从牌组中的可用牌中移除(以备将来使用),然后还能够将它们作为变量存储为即将到来的课程中实际玩家手牌的变量。感谢您的帮助!
import random
suits = ('Hearts', 'Diamonds', 'Spades', 'Clubs')
ranks = ('Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 'Eight', 'Nine', 'Ten', 'Jack', 'Queen', 'King', 'Ace')
values = {'Two':2, 'Three':3, 'Four':4, 'Five':5, 'Six':6, 'Seven':7, 'Eight':8, 'Nine':9, 'Ten':10, 'Jack':10,
'Queen':10, 'King':10, 'Ace':11}
playing = True
class Card:
def __init__(self,suit,rank,value):
self.suit = suit
self.rank = rank
self.value = value
def __str__(self):
print(f'{rank} of {suit}')
class Deck:
def __init__(self):
self.deck = [] # start with an empty list
for suit in range(len(suits)):
for rank in range(len(ranks)):
self.deck += [(suits[suit],values[ranks[rank]])]
def __str__(self):
return f'{self.deck}'
def shuffle(self):
random.shuffle(self.deck)
def deal(self):
?????
【问题讨论】:
-
您忘记发布您已经完成的
deal的哪一部分。 -
老实说,我真的不知道从哪里开始。我唯一能收集到的是,在某个时候我会在某个地方有
del self.deck[0:3]