麻将程序对和牌判断的逻辑是什么?

麻将程序对和牌判断的逻辑是什么?,第1张

先进算法当然有啊,有详细的介绍,思路非常屌爆。

大体意思如下(以下掺杂我的个人理解,可能有解释错误之处。会日语的读者请尽量阅读链接原文):

暴力拆解比较吃计算,查表法比较吃内存,虽然这两者对于当今的PC都不是问题,但如果平台机能特别有限,可以采用改进的查表法。

基础的查表法,是给每种牌编一个id,麻将中共34种牌因此需要至少6位空间。手牌14张也就是84位。要保存和牌的全部组合约1700万种需要约175MB存储。

改进的思路是先给手牌排序,然后不管具体牌面,只计算连续牌的张数,得到一个「牌型」,再从表中查牌型是否胡。

例如222456万345678饼北北圆简,可以编码为30111011111102(三张相桐唤同牌,三张连续牌,六张连续牌,两张相同牌,中间隔开)。

下一步是将其二进制化,采用如下特制规则:

1→0

2→110

3→11110

4→1111110

10→10

20→1110

30→111110

40→11111110

很容易看出,这样编码后每张牌只占用1到2位空间,最恶情况子下(十四张不连单牌)仅占用27位。跟之前的84位相比,单组数据压缩了三分之二以上。更牛逼的是,和牌表从1700万种具体组合下降到仅仅9362种形状排列!

另外,作者反复强调:查表时需要大量整型比较运算,将数据控制在32位以内对于(2008年成文当时主流的)32位CPU本身也是优化(省 *** 作次数)。

结论上,根据作者测试,优化后的查表算法比暴力拆解快大约50倍,而且速度特别稳定。相对地,传统的拆解法碰上清一色这种同色牌多的牌型会变慢。

还有一个是役的计算,分为事后判定(先检查是否和牌、再检查役种)和事前判定(检查和牌的同橘轮裤时检查役种)。文中的算法支持一部分役的事前判定。

打麻将的规则是什么

打麻将的规则是什么,网上有个段子是穷人过年打牌,富人过年旅游。一到过年,亲戚都是在打牌中度过,而打得最多的就是麻将,以下察卖了解打麻将的规则是什么及相关资料。

打麻将的规则是什么1

麻将由万,筒,条一到9各4张 ,加上7张大字各4张,(8只花)的组合,打花的话144张牌,不打花136张牌。

游戏进行的规则:逆时针顺序开打,掉两颗骰子色,大的数哪里开始取牌,点数小的数哪排开始拿,顺子组合(AB或AC)可以吃上家,对子组合(AA)可碰三家,有四张可以开扛,明扛赢二注,暗扛赢两注,扛别人赢3注。

麻将胡牌条件:以广东麻将为例:4面1眼 (即3*4+2=14),达成胡牌条件。 用公式表示就是N*AAA+m*ABC+DD mn可以等于0。

上面公式中的AAA和ABC叫做面,还没形成面子的时候叫做搭子,即AB,AC, BC,AA。

发牌一开始拿到手,庄家14张牌,闲家13张牌。想要胡,就在接下来摸牌、打牌、对吃杠的过程中想办法使这13张牌符合nAAA+mABC+DD的规律。注意:东南西北中发白这7张牌不能组成ABC的形式,只能组成AAA,胡牌中14只牌最多会有7搭,但是我们只需要5搭,可以组合成4面1眼就可以

摸牌顺序

上家打,本家碰,顺差一位。碰跟吃道理一样,对家打,本家碰,对碰对摸,下家打,上家碰,倒差一位。

掌握摸牌的顺序是成败的而关键因素之一,吃牌和碰牌必不能摸牌,摸牌是一切的几率的产生。如果想喂饱下家就多碰两只,如果不是就少碰两只,尤其是下家打的,一定摸到的不吃也罢。

数牌的特征

我们来分析一下:123456789的特性,因为数字的对称性,1-5为上挂,5-9下挂的,为上挂与下挂的概率是一样的,所以择一分析,1和9叫幺九,2和8叫肩张,3-7叫中间章,中挂456是数牌的精华,透漏的情报最多。

打麻将的规则是什么2

一、搬庄和定庄

不用说都知道,打麻将是四个人围一桌,四人各位居何方,决定坐次这一程序称为“搬庄”,也称作“板位”、“定位”或“打座”,所谓定庄,就是指找出第一位做庄的人。定庄的方法也很多,通常多由坐东位的人掷骰一次,两骰点相加,按此数点逆时针,数到谁,谁即为庄家(也称庄主)。

二、洗牌与彻牌

我们在洗牌前需要先将麻将的牌正面往下,四人同地将其搅开、和乱,使之充分混合,尽可能做到四圆悔家机会均等,也可防止作弊。洗好后,四人同时砌牌,方法是:把每两张置于一起叠成墩,并依次横排在门前成一条状家汇合围成方阵(又始传方城)。方阵之中,称“堂子”又称“海里”,或称“河里”。不过现在都是机麻,我们不用洗牌了。

三、拿牌及打牌

拿牌也是有一定的规则的,如庄家掷骰为四.开门即在上家北门,此门接再掷一次,如果数点为七,两数之和则为11,即在北家的牌墙上(也“牌垄”上)从右到左数11墩留下,庄家从第12墩开始拿牌。由庄家拿牌,每次拿两墩,其它三家按逆时针方向依次轮流拿牌。但牌在墙上走向为顺时针。当各家均拿够六墩(12张)后,再由庄家“跳拿”两张,俗称“扫底”,其它各家再补拿]张。至此,庄橘没正家手牌14张,其它各家均为13张。这样拿上手的牌称作“配牌”,也乐“基牌”或“底牌”。拿牌结束后,接着庄家先打出第一张牌,此为打牌正式开始。

四、组牌方式

想想就知道我们运气不可能这么好,13张麻将肯定什么都有,而麻将要胡牌,就必须要满足规则。每人手里拿到了十三张牌,需要各家便开始把手中的牌进行各种组合。我们这里用一个数学公式来表达:n*AAA+m*ABC+DD,谁先将牌摸成这样就赢了,mn可以等于0。 如果是成麻,必须缺一门才能胡牌,也就是说在胡牌的时候手里不能有三种花色。

打麻将的.规则是什么3

以国际标准麻将为例,先把拍洗均匀,之后,每人码36张牌,各自为18墩;开牌时庄家掷骰,两颗骰子的总和所得的点数就是开牌的基数。以庄家为第一位,按逆时针方向顺序点数,数到点数的位置为开牌的牌墙。从右向左依次数到与点数相同的那一墩,由庄家开始抓牌,下一家再按顺时针方向顺序抓牌,直到每个人抓3次,再由庄家跳牌抓上层两牌,其他人依次各抓一张;打牌时由庄家打出第一张牌开始。不同地区的规则稍有不同。

麻将是一种中国古发明的博弈游戏,牌类娱乐用具,用竹子、骨头或塑料制成的小长方块,上面刻有花纹或字样,每副136张(有的地区74张)南方麻将多八个花牌,分别是春夏秋冬,梅竹兰菊,共计144张。不同地区的游戏规则稍有不同。麻将的牌式主要有“饼(文钱)”、“条(索子)”、“万(万贯)”等。在古代,麻将大都是以骨面竹背做成,可以说麻将牌实际上是一种纸牌与骨牌的结合体。与其他骨牌形式相比,麻将的玩法最为复杂有趣,它的基本打法简单,容易上手,但其中变化又极多,搭配组合因人而异,因此成为中国历史上一种最能吸引人的博戏形式之一。

国际标准麻将,简称国标麻将,是麻将的一种玩法,其规则为中国国家体育总局于1998年7月所制定。其后在众多国际及国内麻将竞赛中应用,故被称为国标麻将。

玩法规则:

1、洗牌:把牌全反扣过来,使牌面朝下。玩家双手搓动牌,使牌均匀而无序地运动,称为“洗牌”。

2、码牌:洗均匀之后,每人码36张牌,两张牌上下摞在一起为一墩,各自为18墩,并码成牌墙摆在自己门前,四人牌墙左右相接成正方形。

3、开牌:国标麻将中,庄家掷骰,两颗骰子的总和所得的点数就是开牌的基数。以庄家为第一位,按逆时针方向顺序点数,数到点数的位置为开牌的牌墙。从右向左依次数到与点数相同的那一墩,由庄家开始抓下两墩牌,下一家再按顺时针方向顺序抓牌,直到每个人抓3次共12张牌,再由庄家跳牌(隔一墩)抓上层两牌,其他人依次各抓一张。庄家共有14张牌,其他人各有13张牌。

打麻将必赢技巧:

观其舍牌,探知牌况,舍牌的好坏很大程度上影响着牌局的走向。想要提升麻将胡牌的胜率,这点要留心:例如上家开局五六巡,还在连尺扮派打孤张风箭,可以推断其手牌杂乱,成胡的希望不大,这时要防范上家对其他两家放铳,搅了自己的大胡。

设陷阱,诱骗待牌,舍牌要会引诱,通过舍牌制造骗局,诱导别家打出自己缺亏需要的牌,特别是在上家有意扣牌的情况下。比如你陵贺有三四四五五筒,碰五筒打三筒就可以逼碰四筒。

猜牌有套路,点炮不上门猜牌最大的作用其实就是防点炮。特别是在麻将牌局后期,宁愿握住危险牌弃胡也不要点炮。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8265710.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存