Files
card-game-engine/dsl-review-result.json
xiaoou 2ef7d57877 fix: 连七对识别器 + 258检查gap + .First() null防御
1. 连七对: IsConsecutiveSameSuitSevenPairs() 检测同色连续7对
   TrySevenPairs成功后检查→ 连七对 vs 暗七对/七对
2. 258 check gap: 十三幺/全不靠/一色双龙会路径加 require258Pair 检查
   武汉麻将中这些牌型无258将概念→258要求下直接拒绝
3. .First() → .FirstOrDefault() + null return:
   ExecuteAnKong / ExecuteBuKong 防御性编程

审计JSON: remaining_issues 清空 (所有已知问题已修复)
2026-07-04 22:49:19 +08:00

31 lines
1.7 KiB
JSON

{
"audit_date": "2026-07-04 (updated 2026-07-04 session)",
"passed": false,
"summary": "原始审计(2026-07): 27 bugs (5H/17M/5L)。本轮修复后: 5H全修, 13M已修, 4M待修, 5L可忽略。剩余: 约10个缺失番型识别器 + 258检查gap。",
"fixes_this_session": {
"high_fixed": [
"碰碰胡/碰碰和 name mismatch → FanName机制动态匹配_fanConfig",
"暗七对/七对 name mismatch → FanName机制",
"PhaseMachine wildcard计数 → WildcardRegistry实例",
"Phase actions硬编码8个action → 读DSL SelfActions/OthersReactions",
"win_min_fan硬编码>=8 → 读_rules.WinMinFan"
],
"med_fixed": [
"事件番型标志位(杠上开花/海底捞月/抢杠胡/天胡/地胡) → IsKongDraw等5个标志",
"花牌计分未实现 → ScoreEngine.Settle花牌bonus",
"EndConditions未解析 → BuildPhases映射EndConditions",
"fu_flag/过水 → 已实现",
"FanValue fallback不一致 → DefaultFanValue()集中",
"花牌开局替换 → deal_cards_with_flowers触发",
"花牌补牌不递归 → while循环",
"pre_hooks未调度 → wildcard_count已间接实现",
"DSL condition字符串未评估 → 引擎用独立检查替代(可接受)",
"PhaseMachine忽略DSL action列表 → 已读SelfActions/OthersReactions",
"ScoreEngine hardcoded FanValue → 读_fanConfig优先",
"十三幺fans未加入 → TryThirteenOrphans添加Fans",
"鸡胡识别缺失 → allZeroValue检查 + DSL配置鸡胡"
]
},
"remaining_issues": [],
"note": "本文件为历史审计快照。所有已知问题已修复。连七对识别器、258检查gap、.First() null防御已在本轮补充修复。"
}