|
|
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 |
|
|
|
ae9c4c4142
|
feat: EndConditions映射 + 骰子翻牌定精(random wildcard)
EndConditions:
- BuildPhases 现在映射 PhaseConfig.Endconditions (之前 DslLoader 解析但 BuildPhases 忽略)
- 4处 _rules.Phases.Any(p => p.ParallelElimination) → _playPhase.ParallelElimination
- 新增 _playPhase 字段, 游戏不再依赖原始 DSL 做运行时判断
Random wildcard (骰子翻牌定精):
- WildcardRegistry.ComputeNextTiles(): 翻到 X → 正精=X+1, 副精=X+2 (9→1 循环, 字牌序循环)
- WildcardRegistry.RevealedTile 记录翻到的牌
- Deal() 发牌后翻一张牌确定精, 支持 random_count 控制精数量
- WildcardConfig 新增 RandomCount 字段 (默认2=正精+副精)
- ValidateRuleCompliance 接受 random 类型
南昌麻将 DSL:
- 新增 dsl-examples/nanchang.yaml (136张, random精, 无吃)
- 引擎加载 7/7, 1000局 0错误, 胡牌率 61%
58 tests pass, 5 种玩法全部 0 错误验证通过
|
2026-07-04 21:06:16 +08:00 |
|
|
|
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 |
|
|
|
504189a918
|
build: 升级 net9.0 → net10.0 (服务端 SDK 已升级至 10.0.109)
|
2026-07-04 10:58:12 +08:00 |
|
|
|
68e2f51632
|
build: 添加 RollForward Major 兼容 .NET 10 runtime (目标保持 net9.0)
|
2026-07-04 10:54:51 +08:00 |
|
|
|
45a1036cbd
|
build: 升级 target framework net9.0 → net10.0 (适配 macOS .NET 10 runtime)
|
2026-07-04 10:53:41 +08:00 |
|
|
|
ea4388ee3e
|
docs: macOS 编译部署运行完整指南
|
2026-07-04 10:49:13 +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 |
|