python——炸金花
程序主要分为以下几部分:
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——炸金花相关推荐
- 详细的Python炸金花游戏代码
** 详细的Python炸金花游戏代码 ** 觉得有用请点个赞吧 #!/usr/bin/env python # -*- coding: utf-8 -*- ''' # @Time: 2022/07/ ...
- 用python开发一个炸金花小游戏,注意别玩上瘾了
扑克牌可谓是居家旅行.桌面交友的必备道具,今天我们用 Python 来实现一个类似炸金花的扑克牌小游戏,先来看一下基本的游戏规则. 炸(诈)金花又叫三张牌,是在全国广泛流传的一种民间多人纸牌游戏.游戏 ...
- Python解炸金花问题
Python解炸金花问题 炸金花小游戏 游戏规则: 整体代码 炸金花小游戏 -要求: 编写炸金花游戏程序 自己写一个程序,实现发牌.比大小判断输赢. 游戏规则: 一付扑克牌,去掉大小王,每个玩家发3张 ...
- 用Python写炸金花代码,学习python语言精品案例
以下代码对于练习python相关的条件循环语句.自定义函数及函数调用.列表.字典.变量运算.基本逻辑等的练习很有帮助,特别是如何使用python语言解决实际问题的思路,且具有一定趣味性,对于Pytho ...
- 熬了三个大夜利用Python开发一个炸金花小游戏,注意别玩上瘾了~~(附完整源码)
大家好,我是你们的好朋友王老师~ 众所周知扑克牌可谓是居家旅行.桌面交友的必备道具,今天我们用 Python 来实现一个类似炸金花的扑克牌小游戏,先来看一下基本的游戏规则. 炸(诈)金花又叫三张牌, ...
- Python实现炸金花游戏的示例代码
本文主要介绍了Python实现炸金花游戏的示例代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下.编程学习资料点击领取. 今天的第二个作品,哈哈哈哈,搞起来感觉还挺 ...
- Python开发一个炸金花小游戏,注意别玩上瘾了
众所周知扑克牌可谓是居家旅行.桌面交友的必备道具,今天我们用 Python 来实现一个类似炸金花的扑克牌小游戏,先来看一下基本的游戏规则. 炸(诈)金花又叫三张牌,是在全国广泛流传的一种民间多人纸牌 ...
- python开发的炸金花小游戏来啦,从此不再无聊~
哈喽~大家好,我是恰恰!大家今天应该都已经开工了,很多同学过年的时候都是在牌桌上度过的吧哈哈,所以今天给大家带来一个用Python开发的扎金花的小游戏,又可以学习又可以玩,趣味性学习没错了!快来看看吧 ...
- 用python开发一个炸金花小游戏,注意别玩上瘾了~~
众所周知扑克牌可谓是居家旅行.桌面交友的必备道具,今天我们用 Python 来实现一个类似炸金花的扑克牌小游戏,先来看一下基本的游戏规则. 炸(诈)金花又叫三张牌,是在全国广泛流传的一种民间多人纸牌 ...
最新文章
- Integer 和 int的种种比较
- Docker环境运行Vue项目
- c# mvc5 view 多层_MVC5+EF6 入门完整教程13 -- 动态生成多级菜单
- redis将散裂中某个值自增_Redis总结
- Django获取request header信息
- 软件工程 c java的联系_软件工程—WC功能实现 (JAVA)
- 系统视频教学视频教程_Amesim综合液压系统视频教程专题更新通知
- python记录鼠标和键盘操作并重复_鼠标和键盘操作
- PN结的形成及PN结工作原理(单向导电)讲解
- python b站自动签到_B站自动操作脚本(投币点赞分享视频,直播签到,获取银瓜子,自动转发抽奖,漫画APP签到)...
- 创建Cocos2dx项目两种方法
- python打开xls_用Python读取Excel(*.xls)文件——xlrd模块的使用
- 软考证书可以落户上海吗?很多人不知道
- 【neo4j】去除重复节点
- Linux服务器安全配置
- Concurrent 包结构介绍
- Html+Vue实现五子棋游戏(单机版)
- 如何让Python代码加速运行?
- 为何大数据会扼杀企业
- 哈工大2022软件构造Lab3
热门文章
- joomla之T3框架使用教程1----安装
- 不到7日用户突破1000万!鸿蒙到底有多火爆?新一轮的开发风口
- 斐讯免费路由的内幕与真相:留后门劫持流量窃取用户隐私
- 座位选座的java代码_基于jQuery实现在线选座之高铁版
- 比微信封堵多闪、聊天宝和马桶MT的竞争更残酷 AToken仍然耸立链圈不倒
- stardict 词典下载
- Unity3D游戏引擎之构建游戏框架与导出IOS项目(一)
- Matlab写入、Fortran读取二进制文件
- android v4 v7 v14,Android Support v4、v7、v13、v14、v17的区别和应用场景
- 十步杀一人,千里不留行 1