胡牌算法 · 番数计算 · 特殊牌型 · 完整攻略
从入门到精通,一文掌握闽南麻将的胡牌算法、番数计算和特殊牌型判断方法。
闽南麻将算法是闽南地区(泉州、厦门、漳州等)流行麻将游戏的核心逻辑体系,主要包括胡牌判断算法、番数计算算法和特殊牌型识别算法三大模块。与普通麻将相比,闽南麻将算法在保持基本胡牌数学原理的基础上,形成了自己独特的番数计算体系。
从技术角度看,闽南麻将的胡牌判断基于牌型组合的数学模型:将一手牌拆解为若干组"刻子"(AAA)、"顺子"(ABC)和"将牌"(DD)的组合。算法需要高效地遍历所有可能的组合方式,以判断当前手牌是否达到胡牌条件。
闽南麻将通常使用万、条、筒三种花色,每种花色1-9共9张牌,合计108张牌。部分地区会加入风牌(东南西北)和箭牌(中发白),共136张或144张牌。
| 牌种 | 花色 | 数量 | 说明 |
|---|---|---|---|
| 万子 | 1万-9万 | 36张 | 每张牌4张 |
| 条子 | 1条-9条 | 36张 | 每张牌4张 |
| 筒子 | 1筒-9筒 | 36张 | 每张牌4张 |
| 风牌(可选) | 东南西北 | 16张 | 每张牌4张 |
| 箭牌(可选) | 中发白 | 12张 | 每张牌4张 |
这个公式是闽南麻将胡牌算法的基础。在实际判定过程中,算法需要从14张手牌中尝试各种拆牌方式,找到满足条件的组合。如果存在至少一种拆分方式使牌型满足该公式,则判定为胡牌。
在闽南麻将游戏中,吃、碰、杠操作的算法计算也有明确的规则:
| 操作 | 算法规则 | 示例 |
|---|---|---|
| 吃牌 | 上家打出的牌与自己手牌形成顺子 | 手有3万4万,上家打2万可吃 |
| 碰牌 | 其他玩家打出的牌与自己手牌相同一对 | 手有5万5万,任意家打5万可碰 |
| 明杠 | 碰牌后再次摸到第4张牌或别人打出 | 已碰5万,再摸5万可明杠 |
| 暗杠 | 手牌有4张相同的牌 | 手中有4张3条可直接暗杠 |
听牌算法的核心是:对于当前手牌(13张),计算所有可能使其胡牌的牌型。算法通常采用回溯法或动态规划,遍历所有未出现的牌,判断加入后是否能满足胡牌公式。
在闽南麻将中,听牌算法可以简化为"找出所有缺一张牌就能凑成4组+1对的牌"。例如,手牌123万456万789条111筒33筒,听牌为任意筒子可使最后两个筒子组成刻子。
闽南麻将的番数计算遵循"基础番+加番"的模式。基础番由最终的胡牌牌型决定,加番则由胡牌方式或牌型中的特殊属性决定。以下为完整的番数对照表:
| 牌型 | 番数 | 牌型描述 |
|---|---|---|
| 平胡 | 1番 | 普通4副牌+1对将 |
| 碰碰胡 | 3番 | 全部由刻子+将牌组成 |
| 清一色 | 4番 | 整副牌同一花色(万/条/筒) |
| 混一色 | 2番 | 同一花色+字牌(风牌箭牌) |
| 七对子 | 3番 | 手牌为7个对子 |
| 豪华七对 | 6番 | 七对中有一组四张相同的牌 |
| 十三幺 | 10番 | 13种幺九牌各一张+任意将 |
| 清幺九 | 8番 | 全部由1和9组成 |
| 加番条件 | 加番数 | 说明 |
|---|---|---|
| 自摸 | +1番 | 自己摸到胡牌 |
| 杠上开花 | +1番 | 杠牌后摸牌胡牌 |
| 海底捞月 | +1番 | 摸最后一张牌胡牌 |
| 门清 | +1番 | 没有吃碰杠操作 |
| 抢杠胡 | +1番 | 抢别人的杠牌胡牌 |
| 天胡 | +3番 | 庄家起手即胡 |
| 地胡 | +2番 | 闲家第一轮摸牌后胡 |
牌型组成:1万9万、1条9条、1筒9筒、东南西北中发白,共13张牌各一张,再加其中任意一张作为将牌。
算法判断:检查手牌是否包含上述13张牌,并且有任意一张牌数量为2张。
番数:通常计10番。
牌型组成:手牌为7个对子(共14张牌,每两张相同)。
算法判断:遍历手牌,确认每张牌都成对出现。
特殊变种:豪华七对(6番)——七对中有一组4张相同,相当于四个一样的牌算两对。
牌型组成:全部由刻子(AAA)和将牌(DD)组成。
算法判断:手牌可分为4组刻子+1组将牌,没有任何顺子。
全部牌都是同一花色(全部万子/条子/筒子),不含字牌。番数:4番
同一花色加字牌(风牌、箭牌)。番数:2番
手牌:111万 333万 555万 999万 77万
分析:全部为万子,满足清一色条件;全部为刻子+将牌,满足碰碰胡条件。
番数:清一色4番 + 碰碰胡3番 = 7番
手牌:11条 22条 33万 44万 55筒 66筒 77筒
分析:手牌为7个对子,满足七对子条件;自摸胡牌。
番数:七对子3番 + 自摸1番 = 4番
手牌:1万 9万 1条 9条 1筒 9筒 东 南 西 北 中 发 白 中
分析:包含13种幺九牌,其中「中」为将牌。
番数:10番
在闽南麻将算法中,多种牌型条件可以同时满足时,番数累加计算。例如清一色+碰碰胡+自摸 = 4+3+1 = 8番。但十三幺是特殊牌型,不与其它基础牌型叠加。