fix: PhaseMachine硬编码>=8番 → 读DSL win_min_fan
4处修复: - PhaseMachine构造函数新增 _winMinFan 参数 - GetLegalActions 中 discard win check (line 139): >= 8 → >= _winMinFan - GetLegalActions 中 self-draw win check (line 165): >= 8 → >= _winMinFan - CheckCondition 中的 can_win*_and_fan_ge_8 (line 97-98): >= 8 → >= _winMinFan - MahjongRoom 传参: winMinFan=_rules.WinMinFan 效果: 国标胡牌率 30%→13% (baseFan<8的低番手牌被正确拦截) 58 tests pass, 5 variants 0 errors
This commit is contained in:
@ -40,7 +40,8 @@ public class MahjongRoom
|
||||
_phaseMachine = new MahjongPhaseMachine(phases, _solver, wildcardCount: wc, require258: r258,
|
||||
fanConfig: fanConfig,
|
||||
jiHuSelfDrawOnly: _rules.WinRule?.JiHuSelfDrawOnly ?? false,
|
||||
wildcards: State.Wildcards);
|
||||
wildcards: State.Wildcards,
|
||||
winMinFan: _rules.WinMinFan);
|
||||
|
||||
_scoreEngine = new MahjongScoreEngine(new ScoringConfig
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user