导语:
本文主要介绍了关于怎么用python开发游戏?的相关知识,包括c++游戏编程,以及怎么用python做游戏这些编程知识,希望对大家有参考作用。
我相信每个人都玩过扑克。这款游戏非常受欢迎,适合休闲娱乐。一副扑克牌可以玩出多种花样。你知道扑克游戏网站是如何发牌的吗?我觉得小编当初打算学习python的时候,很大一部分是为了自己开发一些游戏。今天小编就带大家以卡牌游戏为例,用python开发一款游戏。
游戏介绍:
四位玩家出牌,电脑随机分配52张牌(大小王不宜)给四位玩家,并在屏幕上显示每位玩家的牌。
代码:
class Card():
""" A playing card. """
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()
if self.is_face_up:
rep=self.suit+self.rank #+" "+str(self.pic_order())
else:
rep="XX"
return rep
def flip(self): #翻牌方法
self.is_face_up=not self.is_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
class Hand( ):
""" A hand of playing cards. """
def __init__(self):
self.cards=[]
def __str__(self):
if self.cards:
rep=""
for card in self.cards:
rep+=str(card)+"\t"
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)
class Poke(Hand):
""" A deck of playing cards. """
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_hand=13):
for rounds in range(per_hand):
for hand in hands:
top_card=self.cards[0]
self.cards.remove(top_card)
hand.add(top_card)
if __name__=="__main__":
print("This is a module with classed for playing cards.")
#四个玩家
players=[Hand(),Hand(),Hand(),Hand()]
poke1=Poke()
poke1.populate() #生成一副牌
poke1.shuffle() #洗牌
poke1.deal(players,13) #发给玩家每人13张
#显示四位牌手的牌
n=1
for hand in players:
print("牌手",n,end=":")
print(hand)
n=n+1
input("\nPress the enter key to exit.")
至此,一个发牌游戏基本完成。其实你还是可以加一点游戏背景音乐的。有兴趣的朋友可以试试~更多python学习推荐:
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python列表创建和存储09/28
- ♥ win8打开python的方法11/22
- ♥ 什么是python免安装包?如何下载?12/30
- ♥ 什么是 python27.dll10/06
- ♥ Python教你随时看美剧!12/24
- ♥ python3的print函数需要加换行符吗?12/31
内容反馈