示例#1
0
        public void checkKing()
        {
            ChessPiece king = Kings[WhitesTurn];

            turnKingInDanger = isTheKingInDanger(Board, WhitesTurn);
            king.Hightlight  = Color.White;
            if (turnKingInDanger)
            {
                bool movesAvailable = hasMoves(Board, WhitesTurn);
                if (movesAvailable)
                {
                    king.Hightlight = Color.Yellow;
                }
                else
                {
                    Winner          = !king.White ? WhitePlayer : BlackPlayer;
                    king.Hightlight = Color.Red;

                    if (Winner == Game1.player.Name)
                    {
                        ChessBoardMod.SyncGameResult(new GameResult(WhitePlayer, BlackPlayer, Winner));
                    }

                    SavedGameData.Sessions.Remove(Id);
                }
            }
        }
示例#2
0
        public void surrender()
        {
            Winner = Game1.player.Name == WhitePlayer ? BlackPlayer : WhitePlayer;

            ChessBoardMod.SyncGameResult(new GameResult(WhitePlayer, BlackPlayer, Winner));
            nextTurn(new Point(-2, Winner == WhitePlayer ? 0 : 1), Point.Zero);
        }