python编的游戏可以直接玩吗_怎么用python开发游戏?

1606212390300230.jpg

相信大家都玩过扑克牌,这个游戏休闲娱乐是很火爆的游戏了,一副扑克牌可以玩出多种花样,那你知道扑克游戏网站是怎么发牌的吗?想起小编刚开始打算学习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学习网。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值