如何使用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开发游戏-创新互联
文章起源:http://cdiso.cn/article/depshj.html

其他资讯