麻将数据分析

一、规则介绍

  本文选择通用的麻将规则,并且没有东南西北风,总共120张牌。数据来源为4个AI麻将循环对局一万场的所有明细数据,AI程度采用的是一般人基本的打牌思路:有碰就碰;能胡即胡,不贪大的;出牌优先级依次为单张无靠、单张有靠和非单张。

二、数据分析

玩家胡牌场数占比%点炮场数占比%
E244724.47183418.34
S240524.05182218.22
W249624.96178817.88
N242624.26185618.56
黄庄2262.26

  这是各玩家的胡牌和点炮场数及概率,从结果来看,完全符合大数定律。也就是在四个玩家技术水平相同的情况下,游戏场数进行到足够多时,每个玩家的胡牌概率接近一致。

胡牌方式胡牌场数占比%
多门听398239.82
自摸247424.74
对倒听139313.93
一门听139013.9
单钓5355.35
黄庄2262.26

在这里插入图片描述
  其中对倒听能胡的牌只有四张,分别是两个对子的另外两张。一门听能胡的也只有四张,比如边七万,总共4个七万,理论上分析概率应该是相近的,跟这个数据结果相符。而单钓能胡的牌最多只剩3张,所以是最难胡的

万牌点炮场数饼牌点炮场数条牌点炮场数点炮场数
一万227一饼188一条173红中23
二万348二饼270二条244白板23
三万359三饼348三条292
四万355四饼334四条332
五万384五饼386五条364
六万352六饼349六条288
七万386七饼295七条305
八万280八饼234八条167
九万124九饼118九条105

在这里插入图片描述
  每张牌点炮的场数,明显看出越靠近中间点炮概率越高,越靠边概率越低,而靠不上牌的中白概率最低。

其它指标场数概率
门清次数279428.59
上碰下自摸次数2289.21
胡七对的情况140.14
全求人次数50.05

  另外平均每场抓牌数量是35张,刚刚过半,再平均到每人则是8到9张,而第19到45张是胡牌高峰范围。

三、深度分析

  根据麻将游戏规则,点炮的情况下,只有点炮的一个人出钱。而自摸则是另外三家都出钱。那么如果从代码上设定玩家E不自摸不胡,最终结果能否多赢钱呢。结果如下:

玩家胡牌场数占比%点炮场数占比%
E5455.45223022.3
S283528.35154915.49
W305630.56154115.41
N315431.54159915.99
黄庄1501.5

  从数据看,玩家E在这个策略下,最终仅胡了545场。而常规情况下,根据前面的数据,自摸总场数为2474,平均每人就是618.5场。为什么只胡自摸的情况下,最后反而自摸的更少呢?
  我觉得可能存在两个方面的原因,一个是当有人点炮时,玩家E不能胡,由于减少了一张能自摸的牌,后面自摸的概率越来越低;一个是作为庄家的场数大量减少,失去庄家优先抓牌的优势,从而减少了原有的自摸概率。
  下面进一步分析庄家的胡牌概率:

类型场数占比%
庄家276428.08
闲家708171.92

  如果4个玩家胡牌的概率相等,那么应该分别是25%,而庄家达到了28%。说明庄家确实有点略微的优势。当然,本人的分析不一定准确,试验的数据场数可能还不够多,代码也有可能有bug。如若发现明显错误,欢迎分享交流。

四、补充

  关于麻将的打牌技巧,众多麻将高手有很多自己的心得。比如3和7尽量不打,因为有了3和7就能靠上1到9所有的牌;再比如后半场如果牌太丑了就可以选择弃胡,随便拆牌找最安全的打,以保证不点炮。而采用AI麻将加数据分析的方式,可以从数据上进行验证,从而进一步改善代码的智能程度。
人机麻将实现方式参考:https://blog.csdn.net/usshe/article/details/108015618

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
熊猫麻将app的代码是指用于开发这款app的程序代码。代码的编写需要经过多个步骤,包括需求分析、系统设计、编码实现和测试等。在编写熊猫麻将app的代码时,首先需要确定各种功能和界面的需求,包括游戏规则、牌局的生成和展示、计分系统等。然后,根据这些需求,进行系统设计,将整个app划分为多个模块,并确定各个模块之间的交互方式和数据传输方式。 在编码实现阶段,程序员根据设计的模块,在相应的开发平台上使用编程语言(如Java、C++等)进行编码,实现各个功能的逻辑。例如,通过编写代码将牌的种类和位置信息保存到数据结构中,将玩家的操作通过点击屏幕等方式进行事件监听,并做出相应的响应,生成游戏结果并进行计分等。同时,也需要编写界面代码,实现熊猫麻将的游戏画面,包括背景、牌的美化等。 在编码完成后,进行测试阶段。测试主要是针对编写的代码进行功能测试、性能测试和兼容性测试等,以确保程序的稳定性和可靠性。在测试过程中,会测试熊猫麻将app在不同设备和操作系统上的运行情况,以及处理各种异常情况的能力。 总的来说,熊猫麻将app的代码是通过需求分析、系统设计、编码实现和测试等过程的逐步迭代完成的。这些代码的编写和优化,直接影响着熊猫麻将app的用户体验和功能性。因此,在编写熊猫麻将app的代码时,需要程序员具备扎实的编程基础和对麻将游戏逻辑的深入理解,以确保程序的正确性和稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值