public void RotatePlayer() { if (GetActivePlayer() == white) { white.IsWaiting = true; black.IsWaiting = false; } else { white.IsWaiting = false; black.IsWaiting = true; } GetWaitingPlayer().timer.Stop(); // Der Bauer kann nur unmittelbar nach seinem Doppelzug en passant geschlagen werden, // daher wird er in dieser Folgerunde aus der Eigenschaft DoubleStepMovedPawn // des aktuellen Spielers wieder entfernt GetActivePlayer().DoubleStepMovedPawn = null; // Prüfen, ob dem Spieler Schach geboten wird GetActivePlayer().IsKingInCheck = board.IsKingInCheck(GetActivePlayer().Color); // Prüfen, ob der Spieler Matt gesetzt wurde if (GetActivePlayer().IsKingInCheck) { GetActivePlayer().IsKingCheckmate = board.IsKingCheckmate(GetActivePlayer().Color); } if (!GetActivePlayer().IsKingCheckmate) { GetActivePlayer().timer.Start(); } RefreshBoardStatus(); }