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!")
#主程序
下一篇:
校园二手交易平台的简要分析(纯文档)
