Python实现斗地主(1)——发牌

  • 生成一副牌
    • 洗牌
  • 发牌(一张一张发)
  • 整合

生成一副牌

数字(2-10):

card = list(range(2, 11))

字母(JQKA):

card = 'J Q K A'.split()

王:

card = '小王 大王'.split()

整合(简单列表推导):

def get_card():deck = [f'{s}{v}' for v in list(range(2, 11)) + 'J Q K A'.split() for s in '黑桃 红桃 方块 梅花'.split()] + '小王 大王'.split()return deck

洗牌

注意:shuffle() 返回None

from random import shuffle
shuffle(deck)

发牌(一张一张发)

def send_card(deck):global low_carddecks = deck[:]low_card = decks[:3]del decks[:3]p1_card = []p2_card = []p3_card = []for x in range(len(decks)):try:p1_card.append(decks.pop(0))p2_card.append(decks.pop(0))p3_card.append(decks.pop(0))except IndexError:breakreturn [p1_card, p2_card, p3_card]

整合

from random import shuffledef get_card():deck = [f'{s}{v}' for v in list(range(2, 11)) + 'J Q K A'.split() for s in '黑桃 红桃 方块 梅花'.split()] + '小王 大王'.split()shuffle(deck)return deckdef send_card(deck):global low_carddecks = deck[:]low_card = decks[:3]del decks[:3]p1_card = []p2_card = []p3_card = []for x in range(len(decks)):try:p1_card.append(decks.pop(0))p2_card.append(decks.pop(0))p3_card.append(decks.pop(0))except IndexError:breakreturn [p1_card, p2_card, p3_card]deck = get_card()
card = send_card(deck)
print(f'一整副牌: \n{card}')

python 斗地主(1)相关推荐

  1. python斗地主游戏源码_我用tkinter写的一个斗地主练习复盘python程序

    python写的斗地主模拟器使用说明,以及python的标准控件库tkinter的使用示例. http://vdisk.weibo.com/s/C5R1f8s9EVq2y 我用python写的一个斗地 ...

  2. python斗地主出牌算法_python模拟斗地主发牌

    本文实例为大家分享了python模拟斗地主发牌的具体代码,供大家参考,具体内容如下 题目:趣味百题之斗地主 扑克牌是一种非常大众化的游戏,在计算机中有很多与扑克牌有关的游戏.例如,在Windows操作 ...

  3. python斗地主游戏源码_python实现斗地主分牌洗牌

    本文实例为大家分享了python实现斗地主分牌洗牌的具体代码,供大家参考,具体内容如下 1.建立一个序列,共54个元素,表示一副扑克牌,初始化时是有顺序的. 2.编写一段代码完成洗牌功能,即将刚才的序 ...

  4. python 斗地主 图形界面_上班摸鱼必备|Python开发命令行斗地主

    原标题:上班摸鱼必备|Python开发命令行斗地主 今天给大家带来的是如何上班如何高级摸鱼: 用Python开发一个命令行斗地主小游戏,利用跑程序的时间来一把斗地主岂不是非常快乐,关键是没有时间限制, ...

  5. python 斗地主最优解法_一步步解析Python斗牛游戏的概率

    过年回家,都会约上亲朋好友聚聚会,会上经常会打麻将,斗地主,斗牛.在这些游戏中,斗牛是最受欢迎的,因为可以很多人一起玩,而且没有技术含量,都是看运气(专业术语是概率). 斗牛的玩法是: 1.把牌中的J ...

  6. python 斗地主发牌_Python_斗地主发牌程序

    1)1副牌(52+2=54张) 2)有大小王,用提供的国王和皇后的符号表示大小王 3)54张牌发给3个玩家,每人17张牌,并有3张底牌. 4)输出3个玩家的牌,按照由小到大,黑红梅方的顺序. 5)输出 ...

  7. python 斗地主发牌_tkinter模拟斗地主发牌

    在上一篇文章的最后,我们留了一个小作业:花果山美男子:tkinter模拟扑克牌和狼人杀发牌​zhuanlan.zhihu.com 小作业2:模拟斗地主发牌,上方是牌库,实现从牌库到三个方向的动态发牌, ...

  8. python斗地主出牌算法_斗地主之用蚁群算法整理牌型:如何进行牌力估计

    我们在前面讲到过,各牌手的牌力估计就是我们在用蚁群算法构造最优牌型时的启发性知识.启发性知识其实就是我们利用自己的经验对事物做出的判优性评估,或者说就是对事物价值的判断. 原则上,应用蚁群算法需要用到 ...

  9. python斗地主70w豆具体思路

    从来不打地主的我,五一回家无聊打了几把,打了个25连胜,后面金币满了,只能打大师场,冲动一把搜输光了,所以没截图. 首先是叫地主 如果你是第一个叫地主,不代表你的牌好,也不代表牌差,游戏的机制就是叫地 ...

最新文章

  1. 浙江大学软件学院2020年保研上机模拟练习 7-4 Shopping With Coupons
  2. FastDFS图片服务器
  3. ajax就收data的参数
  4. visual studio解决方案是什么?
  5. c++ 输出二进制_Python之输入输出(input_output)
  6. php删除excel文件,php操作excel文件的方法小结
  7. 数据库事务转载基础二:oracle事务隔离级别
  8. IoTSharp部署教程-Sqlite分表篇
  9. 洛谷 P2735 电网 Electric Fences Label:计算几何--皮克定理
  10. JAVA——附加作业3——订阅报刊杂志
  11. Expression Atlas
  12. 如何掌握所有的编程语言?
  13. 网页特效offset、client、scroll系列属性的作用
  14. [转]HTTP 错误 403.1 - 禁止访问:执行访问被拒绝。
  15. Aloha:一个分布式任务调度框架
  16. java linux任务管理器_Linux系列教程(二十四)——Linux的系统管理
  17. 信息安全工程师 学习笔记 完结
  18. 互联网晚报 | 11月22日 星期一 | 华为正式开启二手机业务;B站通过收购获得支付牌照;字节跳动公益平台正式上线...
  19. 可能是目前最全的《Android面试题及解析》(379页)
  20. 电池SOC仿真系列-基于双卡尔曼滤波(KF+UKF)算法的电池SOC估算

热门文章

  1. 【操作系统之进程了解】
  2. python技术开发工程师证书查询_高级工程师证书查询系统
  3. 基于ThinkPHP开发的企业建站程序完整版源码
  4. 基于51单片机的全自动洗衣机仿真原理图程序方案设计
  5. 2020年起重机司机(限门式起重机)考试资料及起重机司机(限门式起重机)新版试题
  6. Qt多线程编程(一)入门篇
  7. 基于VHDL语言的状态机设计
  8. PLC如何实现二阶滤波器算法(二阶巴特沃斯低通滤波器FIR_Filter)
  9. graphics.h图形库
  10. 本地存储-cookie|localStorage|sessionStorage|indexedDB