This Bishop was the third piece in the piece table of that Interactive Diagram, after P and N.
But that the Interactive Diagram supports the conversion rule doesn't necessarily mean the GAME code generated from it would. The generated GAME code still comes with the disclaimer:
This project is not entirely finished yet; some of the more exotic features supported by the Play-Test Applet (or not even by that, but by the Interactive Diagram), such as Imitators, and cylindric pieces, are not yet supported as GAME code.
Unfortunately conversion is one of these 'exotic features' (i.e. which almost no variant uses). So the GAME code would just take the iW move defined on the Bishop at face value, and always allow the orthogonal step on a virgin Bishop, no matter how the other Bishop had started. (This of course is already a big improvement to a preset that would not enforce rules at all, as it would never reject anything that was allowed.)
From where we are now I think the best solution would be to add some extra GAME code to the Post-Move and Game-End sections to enforce the conversion rule; the Post-Move code should detect whether a virgin Bishop moves, remember if it was a W or B move, and reject it if a move of the same type had already been done (by a virgin Bishop). I will give it a thought.
[Edit] It was actually not so hard to add this as a standard feature in the betza.txt GAME-code include file, without slowing it down much. To activate the feature you would have to add at the end of the Pre-Game section of your preset the line
set conversion (B b);
I will see if I can patch the Play-Test Applet so that it would automatically generate this line as part of the Pre-Game code you have to paste when you feed it a Diagram that specified the conversion parameter.
I implemented it in a slightly different way in the GAME code as I did for the Interactive Diagram; the latter judges the initial moves of the pieces subject to the rule by the square shade they land on, which must be different. The preset required that one of the moves was "initial only", and the other not. This is more general, and could for instance also be used to convert an Alibabarider with an initial Ferz move.
The current include should reject attempts to start the second Bishop with the wrong kind of move. It will still highlight these moves, though. I will fix that later.
This Bishop was the third piece in the piece table of that Interactive Diagram, after P and N.
But that the Interactive Diagram supports the conversion rule doesn't necessarily mean the GAME code generated from it would. The generated GAME code still comes with the disclaimer:
Unfortunately conversion is one of these 'exotic features' (i.e. which almost no variant uses). So the GAME code would just take the iW move defined on the Bishop at face value, and always allow the orthogonal step on a virgin Bishop, no matter how the other Bishop had started. (This of course is already a big improvement to a preset that would not enforce rules at all, as it would never reject anything that was allowed.)
From where we are now I think the best solution would be to add some extra GAME code to the Post-Move and Game-End sections to enforce the conversion rule; the Post-Move code should detect whether a virgin Bishop moves, remember if it was a W or B move, and reject it if a move of the same type had already been done (by a virgin Bishop). I will give it a thought.[Edit] It was actually not so hard to add this as a standard feature in the betza.txt GAME-code include file, without slowing it down much. To activate the feature you would have to add at the end of the Pre-Game section of your preset the line
I will see if I can patch the Play-Test Applet so that it would automatically generate this line as part of the Pre-Game code you have to paste when you feed it a Diagram that specified the conversion parameter.
I implemented it in a slightly different way in the GAME code as I did for the Interactive Diagram; the latter judges the initial moves of the pieces subject to the rule by the square shade they land on, which must be different. The preset required that one of the moves was "initial only", and the other not. This is more general, and could for instance also be used to convert an Alibabarider with an initial Ferz move.
The current include should reject attempts to start the second Bishop with the wrong kind of move. It will still highlight these moves, though. I will fix that later.