Files
card-game-engine/docs/fan-recognizer-inventory.md
xiaoou 5b60255f02 docs: AI-readable DSL规范+番型识别器清单
dsl-specification.md: 新玩法生成指南
- 全部支持的DSL字段+有效值+约束
- 39种引擎识别番型名
- 支持的条件字符串/action/pre_hook
- 已知限制清单
- 创建新DSL的完整流程+检查清单

fan-recognizer-inventory.md: 番型识别器清单
- 每种番型的检测条件
- 事件番型的标志位映射
- 未实现的番型列表(使用将得分为0)

验证: AI按规范生成的南昌麻将(fixed wildcard发财)
→ 100%合规零警告,正常运行
2026-07-04 20:53:40 +08:00

3.3 KiB

番型识别器清单 (39种)

此文档列出引擎 IdentifyFans(result, state?) 能识别的全部番型名及其检测条件。

结构性番型 (基于手牌 melds/pair 结构检测)

番型名 检测条件 别名
清一色 全部数牌同花色,无字牌 -
混一色 全部数牌同花色+含字牌 -
字一色 全部为字牌 -
对对胡 全部面子为刻子 碰碰胡, 碰碰和
暗七对 全部面子为对子(来自七对路径) 七对
将一色 全部为2/5/8数牌 -
带幺九 全部面子含幺九牌,将对为幺九 全带幺
混幺九 全部为幺九或字牌,且两者都有 -
缺一门 数牌最多2种花色 -
无字 全部为数牌,无字牌 -
平胡 全部面子为顺子 平和
断幺九 全部为中张数牌(2-8,无幺九无字) -
全大 全部数牌rank≥7 -
全中 全部数牌rank 4-6 -
全小 全部数牌rank≤3 -
全双 全部数牌rank为偶数 -
大于五 全部数牌rank>5 -
小于五 全部数牌rank<5 -
大四喜 4个风刻(东南西北) -
大三元 3个箭刻(中发白) -
小四喜 3个风刻+风将 -
小三元 2个箭刻+箭将 -
一色四同顺 4个完全相同的顺子 -
五门齐 3种数牌+字牌共计4类 -

特殊牌型 (在 CheckWin 特定路径中,不经过标准面子提取)

番型名 检测路径 说明
十三幺 TryThirteenOrphans 13种幺九+1对
全不靠 TryAllOrphans 147/258/369+字牌
一色双龙会 TryDoubleDragon 同花色1-9各2张
连七对 TrySevenPairs(同色连7对) 同花色的连续7对(未单独实现,由七对路径检测后通过DSL名匹配)

状态相关番型 (需要传入 state 参数)

番型名 检测条件
全求人 melds=0 且 allTiles≤2 (即全部副露)
门前清 state.Exposed 全部为空(无碰/杠/吃)

事件番型 (需要 state 中的事件标志位)

番型名 标志位 设置时机
杠上开花 state.IsKongDraw 杠后摸牌时
海底捞月 state.IsLastTile 摸牌前deck只剩1张
抢杠胡 state.IsRobbedKong 加杠时
天胡 state.IsFirstTurn && state.DealerOnFirstTurn 庄家首轮
地胡 state.IsFirstTurn && !state.DealerOnFirstTurn 非庄家首轮

条件番型

番型名 条件 检测方式
癞子胡 hand_contains_wildcard state.Wildcards.CountWildcards(allTiles) > 0

兜底番型

番型名 触发条件
鸡胡 上述所有番型都未识别时自动添加

未实现的番型 (使用这些名称将得分为0)

以下番型引擎无法识别,在合规检查中会列出警告:

结构类: 绿一色, 九莲宝灯, 四杠子, 一色三同顺, 一色三节高, 三色三同顺, 三色三节高, 一色三步高, 三色三步高, 花龙, 组合龙, 推不倒, 无番和, 清龙, 三色双龙会, 全带五, 一色三高, 一色四高, 三风刻, 三杠, 四归一, 双暗刻, 双同刻, 双暗杠, 双明杠, 老少副, 连六, 喜相逢, 一般高, 幺九刻

事件类: 圈风刻, 门风刻, 箭刻, 不求人, 自摸(作为独立番型)

条件类: 边张, 坎张, 单钓将