【发布时间】:2013-04-30 18:39:42
【问题描述】:
我正在尝试创建一个使用类来运行的二十一点游戏。我相信我已经成功制作了一个针对卡片的课程
class Card(object):
def __init__(self,suit,number):
self.suit=suit
self.number=number
然后我做了一个类,它需要一副牌然后洗牌,它也是如此,我认为这个类也是正确的(我对交易功能有点不确定)
class DeckofCards(object):
def __init__(self,deck):
self.deck=deck
self.shuffledeck=self.shuffle()
print(self.shuffledeck)
def shuffle(self):
b=[]
count=0
while count<len(self.deck):
a=randrange(0,len(self.deck))
if a not in b:
b.append(self.deck[a])
count+=1
return(b)
def deal(self):
if len(self.shuffledeck)>0:
return(self.shuffledeck.pop(0)) #removes the card from the deck and deals it
else:
shuffle(self)
return(self.shuffledeck.pop(0))
然后我为玩家创建了一个类,这就是我开始困惑的地方,我希望插入老师的直接问题是可以的,因为这对我来说非常模棱两可和困惑。
类播放器(对象):
“”” 这个类是为游戏中的玩家(一个 庄家被认为是玩家,虽然我可以单独制作一个 类。)构造函数有 6 个属性:玩家的 名称,手(最初是一个空列表),布尔值 inout, 初始化为 True (用于指示播放器是 “in”),布尔值 blackjack,初始化为 False (表示玩家没有二十一点),整数钱, 表示玩家拥有的总金额、得分、 初始化为0,整数出价,初始化为0,这将 保留玩家当前的出价。
这是我的尝试
class Player(object):
def __init__(self,name,hand,inout,money,score):
self.name=name
self.hand=hand
self.inout=inout
self.money=money
self.score=score
self.blackjack=self.blackjacksearch()
def blackjacksearch(self): #not sure if any of this works
if Card('H','J') in self.hand:
return(False)
if Card('S','J') in self.hand:
return(False)
if Card('C','J') in self.hand:
return(False)
if Card('D','J') in self.hand:
return(False)
else:
return(True)
完整的路线可以在here找到
我只是在寻找方向,因为我一无所知,而我们的教授根本没有提供太多帮助。
【问题讨论】:
标签: python-3.x