fix: 4个HIGH severity DSL规则bug(子代理审查发现)
子代理审查(对照4个DSL)发现27个bug,本轮修复HIGH级别4个: 1. PhaseMachine wildcard计数用Core.MahjongTile.IsWildcard(静态)→ 不检查配置的红中(35)→_wildcards.CountWildcards(实例) 2. 番型名不匹配:引擎生成 对对胡/暗七对,但DSL定义 碰碰胡/碰碰和/七对→FanName()动态匹配_fanConfig 3. 十三幺/七对/全不靠/一色双龙会不识别自身番型→ CheckWin各路径返回前注入番型名+IdentifyFans追加 4. 258将: 七对路径缺检查+IsValid258Pair OR→AND逻辑 (一张癞子+非258牌应拒绝,不是通过) 此前已修:chi越权(d95eab8)+花牌计分+BEFORE_GAME_START(9b9e4c3) 剩余17个MED/LOW→下一轮评估
This commit is contained in:
@ -83,7 +83,7 @@ public class MahjongPhaseMachine
|
||||
actions.Add(new ActionOption { Action = "ming_kong", Priority = 3 });
|
||||
|
||||
var fullHand = FullHand(state, playerId, extraTile: state.LastDiscard.Value);
|
||||
int wildInHand = fullHand.Count(Core.MahjongTile.IsWildcard);
|
||||
int wildInHand = _wildcards.CountWildcards(fullHand);
|
||||
var result = _solver.CheckWin(fullHand,
|
||||
wildcardCount: wildInHand, require258Pair: _require258);
|
||||
if (result != null && result.IsWin)
|
||||
|
||||
Reference in New Issue
Block a user