fix: 人类玩家显示摸到的牌 (LastDrawnTile + 箭头高亮)

- GameState新增LastDrawnTile字段
- StepTurn摸牌时记录LastDrawnTile
- HumanMahjongPlayer显示'刚刚摸到:X'并用→←箭头标记新牌
- 庄家首轮LastDrawnTile清空
This commit is contained in:
xiaoou
2026-07-04 11:49:31 +08:00
parent 4302ec2fd5
commit f9242cf965
3 changed files with 15 additions and 2 deletions

View File

@ -135,13 +135,16 @@ public class MahjongRoom
// Phase 2: Draw card (skip for dealer on first turn — they already have 14)
bool isDealerFirstTurn = (player == State.Dealer && State.RoundNumber == 0);
if (!isDealerFirstTurn)
if (isDealerFirstTurn)
State.LastDrawnTile = null;
else
{
if (State.Deck.Count > 0)
{
int drawn = State.Deck[^1];
State.Deck.RemoveAt(State.Deck.Count - 1);
State.Hands[player].Add(drawn);
State.LastDrawnTile = drawn;
State.AddEvent("draw", player, drawn,
$"摸牌: {MahjongTile.ToString(drawn)}");