Check out Modern Chess, our featured variant for January, 2025.


[ Help | Earliest Comments | Latest Comments ]
[ List All Subjects of Discussion | Create New Subject of Discussion ]
[ List Earliest Comments Only For Pages | Games | Rated Pages | Rated Games | Subjects of Discussion ]

Single Comment

Betza notation (extended). The powerful XBetza extension to Betza's funny notation.[All Comments] [Add Comment or Rating]
Greg Strong wrote on Thu, May 20, 2021 06:50 PM UTC in reply to H. G. Muller from 05:54 PM:

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:

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.