fix: 圈风/门风/单钓将/四归一加_fanConfig守卫 + 精牌显示 + TileName修复

问题1: 圈风/门风/单钓将/四归一在南昌武汉等非Guobiao玩法中误生成
  修复: 4个新识别器加 _fanConfig.ContainsKey() 守卫,只有配了才生成
  Guobiao DSL 补充4个番型定义(圈风2/门风2/四归一2/单钓将1)

问题2: 翻牌定精信息未在demo显示
  修复: RenderDeal() 显示精牌(翻牌+正精+副精)

问题3: TileName?{tile}→ToStringCore(tile)
  修复: 带🀫前缀的数字牌显示 '🀫3万' 而非 '🀫?21'
This commit is contained in:
xiaoou
2026-07-04 23:42:42 +08:00
parent 3f91d7c3f8
commit d734c0a384
4 changed files with 32 additions and 15 deletions

View File

@ -237,6 +237,16 @@ void RenderDeal(MahjongRoom room)
foreach (var p in state.PlayerOrder)
Console.WriteLine($" {p}{(p == state.Dealer ? " ()" : "")}: {state.Hands[p].Count}张");
Console.WriteLine($" 牌墙: {state.Deck.Count} 张");
// Show wildcard info if configured
var wc = state.Wildcards;
if (wc.ConfiguredWildcards.Count > 0)
{
var wcStr = string.Join(" ", wc.ConfiguredWildcards.Select(t => MahjongTile.ToString(t, wc)));
if (wc.RevealedTile.HasValue)
Console.WriteLine($" 🀫 精: {wcStr} (翻牌: {MahjongTile.ToString(wc.RevealedTile.Value)})");
else
Console.WriteLine($" 🀫 宝牌: {wcStr}");
}
Console.WriteLine($" (手牌已洗牌,按 Enter 查看牌局)");
}