fix: 人类玩家显示摸到的牌 (LastDrawnTile + 箭头高亮)
- GameState新增LastDrawnTile字段 - StepTurn摸牌时记录LastDrawnTile - HumanMahjongPlayer显示'刚刚摸到:X'并用→←箭头标记新牌 - 庄家首轮LastDrawnTile清空
This commit is contained in:
@ -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)}");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user