import random

class Poke:

pokes=[] #初始牌堆

player1=[]#三个玩家的牌

player2=[]

player3=[]

last_poke=None #底牌

def __init__(self,flower,num):

self.flower=flower

self.num=num

def __str__(self):

return "%s%s"%(self.flower,self.num)

#1.初始化牌

@classmethod

def init_poke(cls):

flowers=("♠","♥","♣","♦") #四种花色

nums=("2","3","4","5","6","7","8","9","10","J","Q","K","A") #14个数字牌

kings={"big":"大王","small":"小王"} #大小王

for flower_ in flowers:#四种花色每一种分别与14个数字进行组合

for num_ in nums:

p=Poke(flower_,num_) #产生扑克牌对象

cls.pokes.append(p) #将扑克牌对象添加到扑克牌列表中

cls.pokes.append(Poke(kings["big"],"")) #将大小王添加到扑克牌列表中

cls.pokes.append(Poke(kings["small"],""))

#2.洗牌

@classmethod

def wash_poke(cls):

for idx in range(0,54): #54张牌,列表的索引从0到53

idxx=random.randint(0,53)#调用随机函数,随机产生0~53的数字

cls.pokes[idx],cls.pokes[idxx]=cls.pokes[idxx],cls.pokes[idx] #进行交换牌

#3.发牌

@classmethod

def send_poke(cls):

for _ in range(0,17): #产生三个玩家的牌

cls.player1.append(cls.pokes.pop(0)) #每个玩家获得17张牌

cls.player2.append(cls.pokes.pop(0))

cls.player3.append(cls.pokes.pop(0))

cls.last_poke=tuple(cls.pokes) #三张底牌

#4.展示牌

@classmethod

def show(cls,i,p):

print(p,end=": ")

for poke in i: #遍历扑克牌

print(poke,end="")

print()

#展示玩家的牌

@classmethod

def show_player(cls): #调用show()方法展示三个玩家和底牌

cls.show(cls.player1,"玩家1")

cls.show(cls.player2,"玩家2")

cls.show(cls.player3,"玩家3")

cls.show(cls.last_poke,"底牌")

Poke.init_poke()

Poke.wash_poke()

Poke.send_poke()

Poke.show_player()

代码运行结果:

python写斗地主游戏_基于python的简单斗地主实现-Go语言中文社区相关推荐

  1. python写签到软件_基于Python实现签到脚本过程解析

    无聊刷日剧,看到签到断了好久,简单写了个脚本,通过模拟抓包的方式实现 1.先登录到字幕组网站获取token 2.用获取到的token登录到人人活动页面获取cookie 3.用获取到的cookie进行签 ...

  2. python生成json接口_基于python的Flask框架写json接口并且结合eolinker进行接口测试

    一.前言 很多时候为了提高软件开发的效率,后端程序人员理想状态下应该编写程序测试接口供前端程序人员进行测试,以便前端的开发.笔者由于项目的需求近期尝试学习了一下测试接口的编写,以Python+Flas ...

  3. python写篮球游戏_程序员们把“蔡徐坤打篮球”写成了一个游戏

    原标题:程序员们把"蔡徐坤打篮球"写成了一个游戏 github一直是一个人才辈出的地方 从"杨超越杯编程大赛" 到"清华课程笔记" 无数令人 ...

  4. python数据分析毕业论文摘要_基于python的毕业论文怎么写?

    谢邀! 基于python的在线支付网站的设计与实现,这个问题如果放在公司的话,还是一个挺大层面的东西!且听我娓娓道来~ 1.基于Python,那首先你要会Python基础 2.网站,那你要会前端,至少 ...

  5. 大学python论文2000字_基于python的毕业论文怎么写?

    谢邀! 基于python的在线支付网站的设计与实现,这个问题如果放在公司的话,还是一个挺大层面的东西!且听我娓娓道来~ 1.基于Python,那首先你要会Python基础 2.网站,那你要会前端,至少 ...

  6. python中select模块_基于python select.select模块通信的实例讲解 如何用python写个串口通信的程序...

    python socket怎么利用select实现双工通信 方法: Before : 0000000000000000000000000000000000000000 After pack: 0100 ...

  7. python写计算机模拟器_用 Python 写出了一个 Gameboy 模拟器

    点击上方"编程派",选择设为"设为星标" 优质文章,第一时间送达! 感觉用 Atari 游戏研究人工智能有点「不够接地气」?现在我们可以使用 Gameboy 模 ...

  8. 用python做炒股软件-python程序源码_基于python的炒股软件

    股票模拟交易系统设计与实现 不但能够进行界面的设计,还可以实现各个窗口的关联,通过WPF实现和其余窗口的关联,而且WPF中的类不但能够和其中一个窗口进行关联,还可以跟许多功能操作接口,WPF在对窗口对 ...

  9. 用python做双人五子棋_基于python的socket实现单机五子棋到双人对战

    基于python的socket实现单机五子棋到双人对战,供大家参考,具体内容如下 本次实验使用python语言.通过socket进行不同机器见的通信,具体可以分为以下四步:1.创建ServerSock ...

  10. python写机器人程序_用Python写的一个多线程机器人聊天程序

    本人是从事php开发的, 近来想通过php实现即时通讯(兼容windows).后来发现实现起来特别麻烦, 就想到python.听说这家伙在什么地方都能发挥作用.所以想用python来做通讯模块...所 ...

最新文章

  1. RabbitMQ(十):RabbitMQ 如何保证消息的可靠性
  2. KOA2路由koa-router实现类似express router的文件结构设计---KOA入门学习
  3. Redhat安装gtk2.0和pkg-config
  4. 表达式树amp;amp;无根树转化为有根树
  5. (五)HTML5本地存储——Web Storage
  6. SpringMVC的数据响应-回写数据-返回对象或集合2(应用)
  7. eclipse IDE中無法打開android模擬器
  8. python教程下载百度云盘到手机_Python教程百度云盘哪里找
  9. java移动元素_如何通过箭头键连续/平滑地移动元素?
  10. 月收入不足三千的人,每月的开销都是怎样的?
  11. fg、bg、jobs、、ctrl + z命令
  12. RS_code 编码和解码
  13. ERP流程一 总体说明
  14. Filter过滤器:使用过滤器保护指定资源,只有登录用户才能访问。若访问内容时用户没有登录则跳转到登录页面。
  15. 台式计算机的电流是多少,电脑台式机一天耗电大概是多少
  16. keepalived配置虚拟IP
  17. MD5算法原理简要介绍并采用C#应用在桌面应用系统的用户登录与注册中
  18. MongoDB简单学习小总结
  19. 系统集成项目管理工程师_系统集成项目管理工程师,拿到证书可直接办理入户...
  20. 申论范文:共同富裕“一定”会考的点

热门文章

  1. 大学生网页设计作业的20款优秀HTML5制作工具
  2. HTML+CSS系列教程导学
  3. 中美线径对照表_电缆里线规AWG的标准是什么?和其他公制如何对照使用?
  4. 随机过程(1)——绪论
  5. bbsmax mysql_Mac命令行启动MySQL
  6. 泛微OA ecology 您查看的文档过大,请下载文档后查看
  7. 博士德霸道软件_霸道+远程版7.0
  8. 计算机音乐东京不太热,洛天依 - 东京不太热[FLAC格式]
  9. 自然语言处理——分词系统(双向最大匹配)
  10. 技术面试问项目难题如何解决的_技术面试中,遇到不会回答的问题怎么破?