H. G. Muller wrote on Sun, Nov 20, 2016 11:12 PM UTC:
"For example, if I put a move like 15,FFFF070 (-16) then a piece can move from g8 through f7 to e7. If put 15,1070 (+1) then a piece can move from g8 through f7 to... d6. But any other tries with -1 and +16 do nothing. I need help for it."
I agree, for pieces that change direction the definitions are awful. But the latest Fairy-Max version (5.0b) actually improved on that. Rather than having to specify the step change in hexadecimal in the upper bits of the move rights, (which is how it is interally stored) it allows you to simply write the secondary step as an (optional) 3rd element in the move definition. So 17,3,1 would now be a Griffon move, a slide that first steps diagonally (17), and then continues orthogonally (1). Fairy-Max itself then calculates what bits have to be changed to make a 1 from a 17.
The 'Skip Rook' in a sense is also a 'bent slider' like the Griffon, except that the move step does not change direction, but only length. The first step of the slide is that of a Dababbah, then the slide continues with single steps. The description of moves that do this would look like 2,3,1 32,3,16 -2,3,-1 etc. The 'lame Knights' move description would be like 1,43,17 (blockable orthogonally) or 17,43,1 (blockable diagonally).
I might equip future versions of Fairy-Max with a compiler for Betza notation, so that the piece definitions can be given in this form. That wouldmake it a lot more user-friendly.
"For example, if I put a move like 15,FFFF070 (-16) then a piece can move from g8 through f7 to e7. If put 15,1070 (+1) then a piece can move from g8 through f7 to... d6. But any other tries with -1 and +16 do nothing. I need help for it."
I agree, for pieces that change direction the definitions are awful. But the latest Fairy-Max version (5.0b) actually improved on that. Rather than having to specify the step change in hexadecimal in the upper bits of the move rights, (which is how it is interally stored) it allows you to simply write the secondary step as an (optional) 3rd element in the move definition. So 17,3,1 would now be a Griffon move, a slide that first steps diagonally (17), and then continues orthogonally (1). Fairy-Max itself then calculates what bits have to be changed to make a 1 from a 17.
The 'Skip Rook' in a sense is also a 'bent slider' like the Griffon, except that the move step does not change direction, but only length. The first step of the slide is that of a Dababbah, then the slide continues with single steps. The description of moves that do this would look like 2,3,1 32,3,16 -2,3,-1 etc. The 'lame Knights' move description would be like 1,43,17 (blockable orthogonally) or 17,43,1 (blockable diagonally).
I might equip future versions of Fairy-Max with a compiler for Betza notation, so that the piece definitions can be given in this form. That wouldmake it a lot more user-friendly.