程序主要分为以下几部分:

1.发牌

2.计分

3.比较

from random import sampledef get_card(players,cards):result = []for i in players:card = sample(cards,3)for j in card:cards.remove(j)result.append({"name":i,"poker":card})return resultdef calculate(_p_map,card_lst):point_lst = list(map(lambda x: p_map[x],card_lst))same_color = len(set([c_l[:2] for c_l in card_lst])) == 1 #同花色continuity = sorted(point_lst) == [i for i in range(min(point_lst),max(point_lst)+1)] or set(point_lst) == {14, 2, 3}  #连续即顺子repeat = len(set(point_lst))  #数字重复if not same_color and not continuity and repeat == 3:return sum(point_lst), "单张"if not same_color and repeat == 2:w = [i for i in point_lst if point_lst.count(i) == 2][0]single = [i for i in point_lst if i != w][0]return w * 2 * 2 + single, "对子"if continuity and not same_color:return sum(point_lst) * 9, "顺子"if same_color and not continuity:return sum(point_lst) * 81, "同花"if continuity and same_color:return sum(point_lst) * 666, "顺金"if repeat == 1:return sum(point_lst) * 999, "豹子"def compare(p_map,card_group):for p in card_group:p["score"], p["type"] = calculate(p_map, p["poker"])print("开牌结果------")for p in card_group:print(p)print("赢家是------")best = max(card_group, key=lambda x: x["score"])["name"]print(best)return card_groupdef show(p_map,Players):pokers = list(p_map.keys())poker_grp = get_card(Players, pokers)return compare(p_map, poker_grp)def start_game(p_map, Players):type_lst = []grp = show(p_map, Players)type_lst = type_lst + [t["type"] for t in grp]if __name__ == '__main__':color = ["黑桃", "红桃", "梅花", "方片"]num = [str(i) for i in range(2,11)] + ["J", "Q", "K", "A"]p_map = {}for i in color:count = 2for j in num:p_map[f"{i}{j}"] = countcount += 1Players = [f"p{i}" for i in range(1,6)]start_game(p_map,Players)

python——炸金花相关推荐

  1. 详细的Python炸金花游戏代码

    ** 详细的Python炸金花游戏代码 ** 觉得有用请点个赞吧 #!/usr/bin/env python # -*- coding: utf-8 -*- ''' # @Time: 2022/07/ ...

  2. 用python开发一个炸金花小游戏,注意别玩上瘾了

    扑克牌可谓是居家旅行.桌面交友的必备道具,今天我们用 Python 来实现一个类似炸金花的扑克牌小游戏,先来看一下基本的游戏规则. 炸(诈)金花又叫三张牌,是在全国广泛流传的一种民间多人纸牌游戏.游戏 ...

  3. Python解炸金花问题

    Python解炸金花问题 炸金花小游戏 游戏规则: 整体代码 炸金花小游戏 -要求: 编写炸金花游戏程序 自己写一个程序,实现发牌.比大小判断输赢. 游戏规则: 一付扑克牌,去掉大小王,每个玩家发3张 ...

  4. 用Python写炸金花代码,学习python语言精品案例

    以下代码对于练习python相关的条件循环语句.自定义函数及函数调用.列表.字典.变量运算.基本逻辑等的练习很有帮助,特别是如何使用python语言解决实际问题的思路,且具有一定趣味性,对于Pytho ...

  5. 熬了三个大夜利用Python开发一个炸金花小游戏,注意别玩上瘾了~~(附完整源码)

    大家好,我是你们的好朋友王老师~ 众所周知扑克牌可谓是居家旅行.桌面交友的必备道具,今天我们用 Python 来实现一个类似炸金花的扑克牌小游戏,先来看一下基本的游戏规则. 炸(诈)金花又叫三张牌, ...

  6. Python实现炸金花游戏的示例代码

    本文主要介绍了Python实现炸金花游戏的示例代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下.编程学习资料点击领取. 今天的第二个作品,哈哈哈哈,搞起来感觉还挺 ...

  7. Python开发一个炸金花小游戏,注意别玩上瘾了

    众所周知扑克牌可谓是居家旅行.桌面交友的必备道具,今天我们用 Python 来实现一个类似炸金花的扑克牌小游戏,先来看一下基本的游戏规则. 炸(诈)金花又叫三张牌,是在全国广泛流传的一种民间多人纸牌 ...

  8. python开发的炸金花小游戏来啦,从此不再无聊~

    哈喽~大家好,我是恰恰!大家今天应该都已经开工了,很多同学过年的时候都是在牌桌上度过的吧哈哈,所以今天给大家带来一个用Python开发的扎金花的小游戏,又可以学习又可以玩,趣味性学习没错了!快来看看吧 ...

  9. 用python开发一个炸金花小游戏,注意别玩上瘾了~~

    众所周知扑克牌可谓是居家旅行.桌面交友的必备道具,今天我们用 Python 来实现一个类似炸金花的扑克牌小游戏,先来看一下基本的游戏规则. 炸(诈)金花又叫三张牌,是在全国广泛流传的一种民间多人纸牌 ...

最新文章

  1. Integer 和 int的种种比较
  2. Docker环境运行Vue项目
  3. c# mvc5 view 多层_MVC5+EF6 入门完整教程13 -- 动态生成多级菜单
  4. redis将散裂中某个值自增_Redis总结
  5. Django获取request header信息
  6. 软件工程 c java的联系_软件工程—WC功能实现 (JAVA)
  7. 系统视频教学视频教程_Amesim综合液压系统视频教程专题更新通知
  8. python记录鼠标和键盘操作并重复_鼠标和键盘操作
  9. PN结的形成及PN结工作原理(单向导电)讲解
  10. python b站自动签到_B站自动操作脚本(投币点赞分享视频,直播签到,获取银瓜子,自动转发抽奖,漫画APP签到)...
  11. 创建Cocos2dx项目两种方法
  12. python打开xls_用Python读取Excel(*.xls)文件——xlrd模块的使用
  13. 软考证书可以落户上海吗?很多人不知道
  14. 【neo4j】去除重复节点
  15. Linux服务器安全配置
  16. Concurrent 包结构介绍
  17. Html+Vue实现五子棋游戏(单机版)
  18. 如何让Python代码加速运行?
  19. 为何大数据会扼杀企业
  20. 哈工大2022软件构造Lab3

热门文章

  1. joomla之T3框架使用教程1----安装
  2. 不到7日用户突破1000万!鸿蒙到底有多火爆?新一轮的开发风口
  3. 斐讯免费路由的内幕与真相:留后门劫持流量窃取用户隐私
  4. 座位选座的java代码_基于jQuery实现在线选座之高铁版
  5. 比微信封堵多闪、聊天宝和马桶MT的竞争更残酷 AToken仍然耸立链圈不倒
  6. stardict 词典下载
  7. Unity3D游戏引擎之构建游戏框架与导出IOS项目(一)
  8. Matlab写入、Fortran读取二进制文件
  9. android v4 v7 v14,Android Support v4、v7、v13、v14、v17的区别和应用场景
  10. 十步杀一人,千里不留行 1