Python基础《扑克牌游戏》
#Cards Module #1.Card类 class Card(): RANKS=[A,2,3,4,5.6,7,8,9,10,J,Q,K] SUITS=[梅,方,红,黑] def __init__(self,sank,suit,face_up=True): self.rank=rank self.suit=suit self.is_face_up=face_up def __str__(self): if self.is_face_up: rep=self.suit+self.rank else: rep=xx return rep def flip(self): self.is_face_up=not self.us_face_up def pic_order(self): if self.rank==A: FaceNum=1 elif self.rank==J: FaceNum=11 elif self.rank==Q: FaceNum=12 elif self.rank==K: FaceNum=13 else: FaceNum=int(self.rank) if self.suit==梅: Suit=1 elif self.suit==方: Suit=2 elif self.suit==红: Suit=3 else: Suit=4 return (Suit-1)*13+FaceNum #2.Hand类 class Hand(): def __init__(self): self.cards=[] def __str__(self): if self.cards: rep= for card in self.cards: rep=rep+str(card)+ else: rep=无牌 return rep def clear(self): self.cards=[] def add(self,card): self.cards.append(card) def give(self,card,other_hand): self.cards.remove(card) other_hand.add(card) #3.Poke类 class Poke(Hand): def populate(self): for suit in Card.SUITS: for rank in Card.RANKS: self.add(Card(rank,suit)) def shuffle(self): import random random.shuffle(self.cards) def deal(self,hands,per_han=13): for rounds in range(per_hand): for hand in hands: if self.cards: top_card=self.cards[0] self.cards.remove(top_card) hand.add(top_card) else: print("Cant continue deal. Out of cards!") #主程序
下一篇:
校园二手交易平台的简要分析(纯文档)