新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:怎么用python開發(fā)游戲?
相信大家都玩過撲克牌,這個游戲休閑娛樂是很火爆的游戲了,一副撲克牌可以玩出多種花樣,那你知道撲克游戲網(wǎng)站是怎么發(fā)牌的嗎?想起小編剛開始打算學習python的時候,有很大一部分是想自己開發(fā)一些游戲,今天小編就帶大家以發(fā)牌游戲為例,用python開發(fā)一款游戲。

游戲介紹:四名牌手打牌,電腦隨機將52張牌(不合大、小王)發(fā)給四名牌手,并在屏幕上顯示每位牌手的牌。
代碼:
class Card():
""" A playing card. """
RANKS=["A","2","3","4","5","6","7","8","9","10","J","Q","K"] #牌面數(shù)字1-13
SUITS=["梅","方","紅","黑"]
#梅為梅花,方為方鉆,紅為紅心,黑為黑桃
def __init__(self,rank,suit,face_up=True):
self.rank=rank #指的是牌面數(shù)字1-13
self.suit=suit #suit指的是花色
self.is_face_up=face_up #是否顯示牌正面,True為正面,F(xiàn)alse為牌背面
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) #發(fā)給玩家每人13張
#顯示四位牌手的牌
n=1
for hand in players:
print("牌手",n,end=":")
print(hand)
n=n+1
input("\nPress the enter key to exit.")到了這一步,一款發(fā)牌游戲基本就算完成了,其實還是可以添加一點游戲背景音樂的,感興趣的小伙伴們可以嘗試下哦~更多python學習推薦:python學習網(wǎng)。
本文標題:創(chuàng)新互聯(lián)Python教程:怎么用python開發(fā)游戲?
當前地址:http://fisionsoft.com.cn/article/dpggpio.html


咨詢
建站咨詢
