极具复杂性的麻将玩法研究(规则篇)

准备研究下家乡麻将的算法实现,自认为要弄出算法复杂度较高,在此先发下规则

 

牌型:万条筒,东西南北,红中发财,白板,春夏秋冬梅兰竹菊,一共144张牌。

 

特殊规则:

每位玩家十六张牌,开局每人两千子,一家玩家没有本轮结束

出一张牌作为金子(出的那张不可被抽取)金子可以当做任何牌(除了可以直接补花的牌)我认为这点造成了复杂度增加,当你有三张金子时,组合太多情况了

八花及白板抽到时可以补花(花或白板为金时不可放出补花)  杠可以补花

若打金或将金进行补花,玩家退出游戏计0胡,三家进行照算番数

 

胡牌条件:由于十六张牌,因此为333332格式,五副顺子或对子加一副将

 

番数计算:

计算分为四、底胡和台数(番数)庄家头庄底胡20,头庄庄家胡后为二波庄,底胡增加20,三波庄时底胡就为60

 

顺子不算四,对子中,二到八的万条筒算半四,一九万条筒、东西南北中发算一四,暗的翻倍,杠的四倍,所以最多暗杠时就为八四。白板和春夏秋冬梅兰竹菊这些直接补花的一张就算一四,单张金算一四(只用在未胡牌者中,因胡牌者金放顺子中则不算四,放对子中也不因此多算四)

 

台数(番数):东南西北属于自己的方位,有一副对子算一台(靠金组成的也算,杠的也只算一台)

红中发财的对子算一台(靠金组成也算)

一张金算一台

春夏秋冬梅兰竹菊属于自己的算一台,凑够春夏秋冬或梅兰竹菊算两台,花是金时,按方位和金算台数相加(比如夏是我,开的春是金,我拿了夏则算两台,秋冬只算一台)

白板两张算一台,三张两台,四张三台

 

计算:四的总数乘于四,向上取整为胡数(二四半为10胡,三四为20胡)

然后乘于2的台数次方(胡牌者多加底胡)即为本局胡数(上限800,特殊情况除外)

胡牌者收三家,未胡牌者间互给,庄家和他人算再翻倍给

 

特殊牌型:

平胡:100胡(不另算台数底胡)

三金倒:800胡(开局补花后三金,直接胡牌)

清一色:800胡(门前有补花的版本或花)

大四喜:800胡(东西南北都有,因为胡牌时十七张,其他随意)

天胡:800胡(庄家头子摸完补完花后胡牌)

地胡:800胡(庄家打出第一张牌后其他人胡)

对对胡:一台

混一色:一台

自摸:一台

八花:全收三家

胡牌后八台及以上:全收三家

门前清一色:全收三家(没有白板及花,金也必须同类花色)

posted @ 2016-11-17 01:09  Scohura  阅读(1558)  评论(0编辑  收藏  举报