feat: HUD显示所有玩家出牌记录 (DiscardHistory)

- GameState新增DiscardHistory字典 (per-player出牌记录)
- MahjongRoom.RecordDiscard统一记录出牌
- 人类模式HUD: 对手显示最近6张出牌
  例: AI-南: 10张手牌 | 已pung[..] | 出: 1万 3条 5筒
This commit is contained in:
xiaoou
2026-07-04 17:39:29 +08:00
parent 7c9d5b4637
commit eb22f6ee28
3 changed files with 19 additions and 4 deletions

View File

@ -163,7 +163,13 @@ else
$"{m.Type}[{string.Join(",", m.Tiles.Where(t => t != -1).Select(MahjongTile.ToString))}]");
exposedStr = $" | 已{string.Join(" ", descs)}";
}
Console.WriteLine($" {p}: {hand.Count}张手牌{exposedStr}");
var discardStr = "";
if (room.State.DiscardHistory.TryGetValue(p, out var discards) && discards.Count > 0)
{
var recent = discards.TakeLast(6).Select(MahjongTile.ToString);
discardStr = $" | 出: {string.Join(" ", recent)}";
}
Console.WriteLine($" {p}: {hand.Count}张手牌{exposedStr}{discardStr}");
}
}
else