Пример #1
0
        /// <summary>
        ///     Is a capture legal?
        /// </summary>
        /// <returns></returns>
        private bool IsCaptureLegal(IPiece piece, ICapture capture, IBoardState state)
        {
            piece.GenerateCaptures(state, ActivePlayerBoardState);
            bool canPieceCapture             = piece.CanCaptureAt(capture.EndingPosition);
            bool doesCaptureLeaveKingInCheck = DoesPotentialMoveLeaveKingInCheck(capture);

            return(canPieceCapture && !doesCaptureLeaveKingInCheck);
        }