public override bool IsLegalMove(Square origin, Square destination) { if (origin.Color == destination.Color) return false; if (origin.AlongFileOrRank(destination)) return true; return origin.DiagonallyTo(destination); }
public override bool IsLegalMove(Square origin, Square destination) { if (origin.Color == destination.Color) return false; return (origin.AlongFileOrRank(destination) && PathIsFree(origin, destination)); }