怎么用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学习网。








以上是 怎么用python开发游戏? 的全部内容, 来源链接: utcz.com/z/541280.html

回到顶部