相信大家都玩过扑克牌,这个游戏休闲娱乐是很火爆的游戏了,一副扑克牌可以玩出多种花样,那你知道扑克游戏网站是怎么发牌的吗?想起小编刚开始打算学习python的时候,有很大一部分是想自己开发一些游戏,今天小编就带大家以发牌游戏为例,用python开发一款游戏。
游戏介绍:四名牌手打牌,电脑随机將52张牌(不合大、小王)发给四名牌手,并在屏幕上显示每位牌手的牌。
代码:
classCard(): """Aplayingcard.""" RANKS=["A","2","3","4","5","6","7","8","9","10","J","Q","K"]#牌面数字1-13 SUITS=["梅","方","红","黑"] #梅为梅花,方为方钻,红为红心,黑为黑桃 def__init__(self,rank,suit,face_up=True): self.rank=rank#指的是牌面数字1-13 self.suit=suit#suit指的是花色 self.is_face_up=face_up#是否显示牌正面,True为正面,False为牌背面 def__str__(self):#print() ifself.is_face_up: rep=self.suit+self.rank#+""+str(self.pic_order()) else: rep="XX" returnrep defflip(self):#翻牌方法 self.is_face_up=notself.is_face_up defpic_order(self):#牌的顺序号 ifself.rank=="A": FaceNum=1 elifself.rank=="J": FaceNum=11 elifself.rank=="Q": FaceNum=12 elifself.rank=="K": FaceNum=13 else: FaceNum=int(self.rank) ifself.suit=="梅": Suit=1 elifself.suit=="方": Suit=2 elifself.suit=="红": Suit=3 else: Suit=4 return(Suit-1)*13+FaceNum classHand(): """Ahandofplayingcards.""" def__init__(self): self.cards=[] def__str__(self): ifself.cards: rep="" forcardinself.cards: rep+=str(card)+"\t" else: rep="无牌" returnrep defclear(self): self.cards=[] defadd(self,card): self.cards.append(card) defgive(self,card,other_hand): self.cards.remove(card) other_hand.add(card) classPoke(Hand): """Adeckofplayingcards.""" defpopulate(self):#生成一副牌 forsuitinCard.SUITS: forrankinCard.RANKS: self.add(Card(rank,suit)) defshuffle(self):#洗牌 importrandom random.shuffle(self.cards)#打乱牌的顺序 defdeal(self,hands,per_hand=13): forroundsinrange(per_hand): forhandinhands: top_card=self.cards[0] self.cards.remove(top_card) hand.add(top_card) if__name__=="__main__": print("Thisisamodulewithclassedforplayingcards.") #四个玩家 players=[Hand(),Hand(),Hand(),Hand()] poke1=Poke() poke1.populate()#生成一副牌 poke1.shuffle()#洗牌 poke1.deal(players,13)#发给玩家每人13张 #显示四位牌手的牌 n=1 forhandinplayers: print("牌手",n,end=":") print(hand) n=n+1 input("\nPresstheenterkeytoexit.")
到了这一步,一款发牌游戏基本就算完成了,其实还是可以添加一点游戏背景音乐的,感兴趣的小伙伴们可以尝试下哦~更多python学习推荐:python学习网。