feat: 计分倍数可配置化 (自摸/点炮/庄家)

ScoringDslConfig + ScoringConfig 新增:
- self_draw_multiplier (默认1): 自摸每家付 baseFan × N
- discard_win_multiplier (默认3): 放炮者付 baseFan × N
- dealer_multiplier (默认1): 庄家输赢 × N

ScoreEngine.Settle:
- 硬编码 *3 → 读 DiscardWinMultiplier
- 庄家倍数: dealerWon→所有人付倍数; 闲家赢→仅庄家付倍数

南昌麻将 DSL: self_draw=1, discard_win=1, dealer=2

58 tests pass, 5 variants all 0 errors
This commit is contained in:
xiaoou
2026-07-04 21:12:45 +08:00
parent ae9c4c4142
commit 248af7642d
4 changed files with 28 additions and 6 deletions

View File

@ -234,6 +234,9 @@ public class ScoringDslConfig
public string Mode { get; set; } = "fan_table";
public int MaxCap { get; set; } = int.MaxValue;
public List<PreHookConfig> PreHooks { get; set; } = new();
public int SelfDrawMultiplier { get; set; } = 1; // 自摸: 每家付 baseFan × N
public int DiscardWinMultiplier { get; set; } = 3; // 点炮: 放炮者付 baseFan × N (默认3=传统包赔)
public int DealerMultiplier { get; set; } = 1; // 庄家: 庄家输赢 × N
}
public class FlowerDslConfig
{