The rules for range toggling are that any range specs are dropped, and the basic atom undergoes slider <-> leaper conversion. So F3 converts to plain R (and the equivalent R3 would convert to F). So you should get (if it was not buggy) a two-leg move where the first leg is F3, and the second leg is R (with fs deflection, i.e. 45 degrees). That is, 1, 2 or 3 diagonal steps, followed by an unlimited orthogonal slide.
Well, ChessV doesn't support that kind of move, so I guess I will just drop support for the integer at the end. You can still define what I was suggesting, just not with XBetza. For example:
Which is more verbose than the typical XBetza, but probably easier to understand. ChessV only takes a subset of XBetza anyway, since it is restricted by what the internal move generator can handle. (XBetza isn't interpreted to generate moves - which would be too slow - only to configure the piece so the move generator does the right thing.) For moves that turn along the path, it only supports: step-then-slide; slide-then-step; or a fixed number of single steps (e.g., the Falcon.) As such, the y operator is defined directly into the ANTLR grammar as a special case and can only appear once.
Well, ChessV doesn't support that kind of move, so I guess I will just drop support for the integer at the end. You can still define what I was suggesting, just not with XBetza. For example:
SomePiece.Step( <1, 0> ).SlideAfterStep( <0, 1> ).MaxSteps = 3;
Which is more verbose than the typical XBetza, but probably easier to understand. ChessV only takes a subset of XBetza anyway, since it is restricted by what the internal move generator can handle. (XBetza isn't interpreted to generate moves - which would be too slow - only to configure the piece so the move generator does the right thing.) For moves that turn along the path, it only supports: step-then-slide; slide-then-step; or a fixed number of single steps (e.g., the Falcon.) As such, the y operator is defined directly into the ANTLR grammar as a special case and can only appear once.