ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1504|回复: 11

[讨论] 过年乡里流行斗牛打牌,突然想用vba模拟下结果,不知怎么写

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-1-16 09:48 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
根据参与的人数(2-10人),随机生成每局的牌面和对局结果,并进行简单统计
微信截图_20230116094748.png

斗牛模拟.zip

14.98 KB, 下载次数: 9

TA的精华主题

TA的得分主题

发表于 2023-1-16 10:20 | 显示全部楼层
很好的想法。你需要做的事要一步一步来,首先你要把斗牛的全部详细规则玩法和一些特殊情况,整理说明一遍

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-1-16 12:24 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
斗牛基本规则
首先要明白牌的大小:大王、小王、K、Q、J这5张都看成10点,10、9、8、7、6、5、4、3、2分别为自身的大小,A为1点。由一人作为庄家(其他人叫做闲人),庄家有的地方玩儿法是随机当,有些地方是比较每人第一张牌的大小,牌大的作为庄家,后续是其他人与庄家比较输赢,庄家的地位可以让出。
斗牛算法规则
首先要用发给你的牌中的三张牌,凑成10的倍数,剩下的两张牌加起来。
1、如果这两张牌的和大于10,那么用这两张牌的和减去10,剩下的输就是牛几。
2、如果剩下的两张牌和是10或20,那么就是牛牛2斗牛,有多方玩,一方庄家,其他方为闲家。
10,J,Q,K就是牛,这几张牌就算10,再把其他的牌加起来,看你加起来有好多点,10的倍数就去掉。比如你拿了3、4、10、J、Q这样的话就是7点。
斗牛基本牌型
1、无牛
5张牌中的任意3张加起来不能成为10的'倍数(如5,6,8,10,J)。
2、有牛
5张牌中的任意3张加起来为10的倍数,但另外2张不为10的倍数(如5,6,7,9,J)。
3、牛牛
5张牌中的任意3张加起来为10的倍数,且另外2张也为10的倍数(如5,6,9,10,J)。
斗牛输赢判定
比赛的时候是每位闲家分别都与庄家进行比牌。一般情况下:
1、牛牛>有牛牌>无牛牌(5张牌任意三张牌的和都不是10的倍数)。
2、都有牛牌时比较大小:剩余2张牌之和的个位数点数大的获胜。
3、当庄家与闲家牛牌大小相同时比较牌的花色:黑桃>红桃>草花>方块。
4、如果都没有牛牌就比较五张牌中点数最大的牌,点数大的赢。
5、假如牌的大小相同则比较此牌的花色,花色大的赢。
斗牛胜负计分
斗牛胜负计算,根据以下牌型翻倍:
1、无牛:翻一倍
2、有牛:有牛的计分分为以下两种
牛1、牛2、牛3、牛4、牛5、牛6:翻1倍
牛7、牛8、牛9:翻2倍。

TA的精华主题

TA的得分主题

发表于 2023-1-16 15:09 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
规则是看懂了,实现的过程却不简单,涉及到排列组合

TA的精华主题

TA的得分主题

发表于 2023-1-16 15:14 | 显示全部楼层
首先的第一点,发牌之前的54牌的排列顺序,就必须假设按照3、4、5、6、7、8、9、10、J、Q、K、A、2、Joker(小)、Joker(大)排列,花色按照方块、梅花、红心、黑桃排列,然后按照随机数发牌。

TA的精华主题

TA的得分主题

发表于 2023-1-16 15:14 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
确实复杂,要考虑很多规则。总体就是先得初始化,设置几个人打,庄家怎么定,几副牌。    然后开始发牌,随机抽牌,发到每个人手里,然后判断大小,得出结果。然后下一局,循环下去。完了还得做出统计。
全套做下来太费时间,当然技术好的老师可能几下就做好了。

TA的精华主题

TA的得分主题

发表于 2023-1-16 16:20 | 显示全部楼层
叫“牛牛‘,N年前就写过,还配上图片随机发牌的,看下还能不能找着......

TA的精华主题

TA的得分主题

发表于 2023-1-16 17:01 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
牛9以下,一倍吃,牛九二倍吃,
来个牛牛,3倍通吃了哈:
微信截图_20230116165330.png
微信截图_20230116165817.png

TA的精华主题

TA的得分主题

发表于 2023-1-16 20:10 | 显示全部楼层
aman1516 发表于 2023-1-16 17:01
牛9以下,一倍吃,牛九二倍吃,
来个牛牛,3倍通吃了哈:

我们这还是五小 和五花牛,五小 全部都是5以下的牌,五花全部是花牌,JQK,好像是5倍和6倍,好几年没玩了,没啥技术含量。

TA的精华主题

TA的得分主题

发表于 2023-1-16 21:40 | 显示全部楼层
忘情的城市 发表于 2023-1-16 20:10
我们这还是五小 和五花牛,五小 全部都是5以下的牌,五花全部是花牌,JQK,好像是5倍和6倍,好几年没玩了 ...

没什么技术含量,纯粹靠运气,就是来$快......

微信截图_20230116213409.png
16年的贴子,当时却被莫明河蟹掉了,
过年娱乐,小D怡情,大家不要被请喝茶哈......



您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-19 18:32 , Processed in 0.041818 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表