Code: Select all
N(x,y)->any (c,r) where (x-c)2 + (y-r)2 = 4
This is all so incredibly verbose. Would you also rally to abandon the FEN tag, and replace it by
Code: Select all
[StartPosition "In the upper-left corner, put a black Rook, then, horizontally next to it, put a black Knight..."]
because it is too hard for humans to understand a FEN? If not, why not?
The ONLY information-conveying character in your circular formula is the '4'. Well, Chess-variantists do indeed represent that piece by a single character, but prefer 'D' over '4'. 'D' is not anymore difficult to remember than '4'. Especially since they know that it stands for Dabbaba, and they of course know that Dabbabas make (0,2) jumps. To get that information from the '4', they would have to know how to calculate square roots... So in stead of 4 they use D, in stead of 5 they use N (for kNight), in stead of 1 they use W (for Wazir), etc. Much more easy to read, and incredibly more compact.
If a standard notation exists that is especially designed for the purpose, and widely used by people that need it, it is incredibly presumptuous to claim there is a better solution, when facing the problem for the first time.
Dirt wrote:Something like:
N(x,y)->N(x+1,y+2) | N(x+2,y+1) | N(x-2,y+1) | N(x+1),y-2) | N(x+2,y-1) | N(x-2,y-1) | N(x-1,y+1) | N(x-1,y-1)
I like that better.
In Betza notation, this would just be
rhlNlF. This is in fact far more easy to read: I see at a glance that it is a piece that make some Knight jumps and some diagonal King steps, from the
N and
F capitals, skipping over the lower-case stuff. On slightly closer inspection I see that it has the right half of all
N moves (
rh) plus the left-most two, from the stuff in front of the
N, and that it can only step diagonally to the left (
lF). Before I knew that from your notation, I had to make a drawing!
I presume it is also not what you meant, since you used the letter N for this piece, which shows you how error-prone your system is. One would never make the mistake of writing
rhlNlF when one meant
N...