4 Commits

Author SHA1 Message Date
a338dac139 feat: --check 标志只验证DSL覆盖率不跑牌局
用法: dotnet run --project Demo -- --check --dsl new_variant
输出: 能力覆盖率 + 合规检查 + 仅验证模式退出

文档: README + dsl-specification 更新创建流程
2026-07-04 22:09:39 +08:00
359e43ce23 docs: 全面更新 README + DSL规范
README.md:
- 测试数: 45→58, 玩法: 4→5 (新增南昌)
- 番型: 16→39 种完整清单
- 新增: 精牌类型(fixed/random), 计分倍数, 5种玩法覆盖表
- 新增: 压测结果表, 引擎代码规模

dsl-specification.md:
- scoring 段新增 self_draw/discard_win/dealer 倍数字段
- 已知限制更新: 花牌(完全支持), wildcard type(fixed+random)
- 快速清单新增 wildcard.type + scoring倍数 检查项
2026-07-04 22:02:47 +08:00
ffe90b6d3d feat: 番型识别DSL驱动化 + 全不靠/一色双龙会测试完善
IdentifyFans: 从4种扩展到17种结构性番型自动识别
- 清一色/混一色/字一色/对对胡/暗七对/带幺九/混幺九
- 缺一门/平胡/断幺九/全大/全中/全小/大于五/小于五/全双/碰碰和
- FanConfig 新增 Condition 字段预留game-event条件

TryAllOrphans: 修正容差 +2(16选14),允许非幺九数牌
TryDoubleDragon: 增加honor/越界保护

测试: 33→45,新增12个(全不靠×3/一色双龙会×2/番型×7)
100局压测: 0出错
2026-07-04 10:46:09 +08:00
3c6748bf06 [verified] feat: 麻将规则引擎 Demo 完整实现
RuleEngine 核心类:
- MahjongTile.cs — int编码 (1-29万条筒, 31-37字, 41-48花, 50-59宝牌)
- MeldsSolver.cs — 标准回溯 + wildcard缺口填充 + 七对/十三幺/全不靠
- PhaseMachine.cs — 回合机(摸打碰杠胡 + 优先级仲裁)
- ScoreEngine.cs — 番型计分 + 互斥图
- DslLoader.cs — YAML DSL加载 + 能力检查

4个DSL: 四川血战/广东鸡平胡/国标麻将/武汉麻将
控制台Demo: 交互模式 + 自动模式(--auto)
测试: 33个测试用例, 32个通过
2026-07-03 17:51:59 +08:00