普通麻将判胡方法

麻将的一些术语解释

  • 顺子:3张序数相连的牌
  • 刻子是三张一样的牌
  • 将是指的两张一样的牌

麻将最基本的胡牌方式为4 * 3 + 2,14张牌,分成4组,每组3张。每组牌有可能是刻子,也有可能是顺子。对于每一组牌要么是顺子,要么是刻子,我们很容易联想到用一个bit位来表示一组牌的类型,总共是4组牌,也就是说一共有16中牌型的组合。

检测步棸

以下的步棸讲解都基于以下这副牌

1
{1, 1 , 1, 2, 3, 2, 3, 4, 3, 4, 5, 7, 8, 9}

去掉将牌

去掉将牌,将剩下的牌到传给下一个环节处理

顺子或者刻子的处理

在这里,我们先规定,用0表示刻子,用1表示顺子。对于上面提到的16种牌型分组模式,我们去除重复后发现只剩下下面的5种

1
{0000},{0001},{0011},{0111},{1111}

在执行这一个环节之前,先列明前提条件

  1. 牌已经按照[牌值:数目]的形式转换成二维数组了。
  2. 顺子比刻子大,移除牌时必需从小到大移除

该环节的处理方法为:

  • 遍历5个模式,尝试从牌中移除一组牌,如果成功继续移除下一组,如果全部移除成功表明可以胡牌,
  • 如果移除某一组失败则尝试另外一个模式,如果所有5个模式都尝试过没有一个可以成功,表明无法胡牌。

步棸解释

先移除将牌的原因

就上面的牌型来说,我们在移除四个顺子{1,2,3},{1,2,3},{3,4,5},{7,8,9}后剩下{1,4}是无法组成将牌的,所以为了避免这种情况我们是应该先去除将牌的。

顺子比刻子大的原因

我们再来看一组牌,{1, 1, 1, 2, 3, 4, 5, 6, 7, 9, 9, 9}(去除将牌后)假如我们先去除顺子则会去除顺子{1, 2, 3}则会造成最后判胡的结果是错的。从这组牌我们可以得知先移除刻子牌的原因:顺子牌是永远也没法出现刻子牌的,但是刻子牌却可以出现在顺子牌里。

-------------本文结束您的阅读与肯定是我持续装*的最大动力-------------