Ejemplo n.º 1
0
        private static bool CastlePiecesHaveNotBeenMoved(King king, Board board, CastleType castleType)
        {
            if (king.HasBeenMoved)
            {
                return(false);
            }

            var rookSquare = board[king.GetCastleRookStartingSquare(castleType)];

            return(rookSquare.Piece != null &&
                   !rookSquare.Piece.HasBeenMoved);
        }
Ejemplo n.º 2
0
        private Move GetCastleMove(Board board, King king, CastleType castleType)
        {
            var rook = board[king.GetCastleRookStartingSquare(castleType)].Piece as Rook;

            return(new Castle(king, rook, board, castleType));
        }