コード例 #1
0
        protected override bool IsValidRule(
            PieceBase piece,
            Position newPosition,
            Chessboard chessboard)
        {
            var(filesToMove, ranksToMove) = piece.GetDistanceTo(newPosition);

            return(filesToMove != 0 || ranksToMove != 0);
        }
コード例 #2
0
 protected override bool IsValidRule(
     PieceBase piece,
     Position newPosition,
     Chessboard chessboard) => chessboard
 .GetPiece(newPosition)
 .Fold(true)(otherPiece => !piece.SameColor(otherPiece));