Files
card-game-engine/dsl-examples
xiaoou cadf76999e fix: DSL total字段从未被引擎校验+广东牌库数修正
Root cause:
1. Deal()完全忽略 _rules.Deck.Total → 牌库大小由 includeFlags 决定
2. Guangdong DSL: total=136 但 include_flowers=true → 实际144张
3. DS与引擎脱节导致广东无限对局(flaky test根因之一)

修复:
- Deck构造加 expectedTotal 可选参数,不一致时抛 InvalidOperationException
- Deal()传 _rules.Deck.Total → 所有DSL变更牌数时必须引擎一致
- Guangdong DSL: total 136→144(广东麻将含花牌=144张)

Breaks: 无(向后兼容,expectedTotal默认null=不校验)
2026-07-04 18:38:15 +08:00
..