有效进张枚举
逐张统计可和牌在剩余牌墙中的数量,先扣除场上已出牌、玩家明牌与自身手牌,输出张数、剩余比例与扣除明细。
同一手牌在不同巡目会得到不同结论,九江麻将算法列表把这种差异写进输入约束里,四条主干各自输出可核对的结果字段,避免只给一个模糊的建议。
逐张统计可和牌在剩余牌墙中的数量,先扣除场上已出牌、玩家明牌与自身手牌,输出张数、剩余比例与扣除明细。
把手牌拆为面子、搭子与将牌组合,取最小换张步数作为向听数,并保留次优拆法,方便对比不同路线的改良空间。
两面、嵌张、边张、单钓、双碰与多面复合结构分别对应独立分支,每个分支标注成立条件与特殊牌型的例外情形。
综合进张数量、改良张数、危险度与番型潜力生成排序,评分相同则按稳定顺序输出,保证同一局面多次运行结果一致。
一张牌该不该打,取决于它同时影响进张、改良、危险与番型。九江麻将算法列表把这五项拆成独立分值,再合成最终排序,任何一项发生变化都能追溯到具体字段。
先看打出这张牌后还剩多少可和牌张,剩余张数低于两张时通常需要重新考虑保听路线。
统计换张后能提升番型或扩大听牌面的张数,用于区分「能听」和「听得更好」两种情况。
依据场上已出牌、对手舍牌顺序与副露信息推导,0 到 100 区间,数值越高越需要谨慎处理。
在保听前提下计算可达成番型的分布,避免为了多一张进张而放弃已经成型的番型路线。
记录被弃张在后续巡目中的再利用可能,末巡之前保留高牌效搭子往往比多听一张更划算。
同样是听牌,末巡保听和中盘改良的目标并不一样。条目按巡目与局面阶段给出不同权重,让判定结果贴合实际对局节奏。
末巡手牌优先保住听牌形态,条目会把进张数量放在首位,改良张数权重下调,危险度作为否决项参与排序。
巡目尚早时,改良张数与番型潜力的权重提高,允许暂时放弃听牌换取更大的听牌面,输出中会标注放弃的代价。
给出手牌拆解过程与每一步的评分变化,把「为什么打这张」拆成可复述的理由链,便于讲解和逐条比对。
下面三组样例均来自条目自带的复现用例,输入包含手牌、副露、场上已出牌与巡目,输出包含向听数、有效进张、建议弃张与综合评分。
| 局面 | 向听数 | 有效进张 | 听牌结构 | 建议弃张 | 综合评分 |
|---|---|---|---|---|---|
| A-01 · 第八巡 | 1 | 16 张 | 两面听 | 一筒 | 78 |
| A-02 · 第十一巡 | 0 | 8 张 | 两面听 + 单钓 | 东风 | 92 |
| A-03 · 第十四巡 | 0 | 3 张 | 单钓将 | 九条 | 64 |
把听牌张数的扣除逻辑写清楚之后,同一手牌在我们两边跑出来的结果终于对上了,排查时间从半天缩短到十几分钟。
规则实现组 · 算法核对向听数条目保留了次优拆法,讲解时可以直接把手牌拆解过程展示出来,比只给一个结论好理解得多。
对局复盘 · 内容讲解从单条查阅到整局批量比对,三种方式共用同一套条目口径,差异只体现在核对范围与输出形式。
适合逐条确认判定条件与样例结果
适合用真实对局记录验证判定一致性
适合带有特殊牌型或封顶条件的玩法
判定分支调整、样例补充与权重修正都会记录在这里,方便已接入的玩法对照版本变化。