Nothing much impressive about it. The Play-Test applet links to the same betza.js script that every diagram links to. If I change something there, it will automatically affect all diagrams on the site. (After people refresh their browser cache.)
The script works by first compiling the Betza notation to a list of legs (range, step and mode), a kind of intermediate code. The UI and AI use that list to highlight or generate moves, through an 'interpreter' routine. The 'GAME code' button in the Play-Test Applet dumps that list as a GAME-code array.
I ported the JavaScript interpreter of the list to GAME code. That is what the betza.txt include file is, for the largest part. So it doesn't deal with actual Betza notation; the compilation is done by the JavaScript.
[Edit] Oops. It seems the GAME-code port of the interpreter does not support crooked/circular pieces yet. So the hack I mentioned for makin a more efficient implementation of the Rhino will not work. A reason to fix this in the betza.txt include file. The automatically generated code should have no problems.
Nothing much impressive about it. The Play-Test applet links to the same betza.js script that every diagram links to. If I change something there, it will automatically affect all diagrams on the site. (After people refresh their browser cache.)
The script works by first compiling the Betza notation to a list of legs (range, step and mode), a kind of intermediate code. The UI and AI use that list to highlight or generate moves, through an 'interpreter' routine. The 'GAME code' button in the Play-Test Applet dumps that list as a GAME-code array.
I ported the JavaScript interpreter of the list to GAME code. That is what the betza.txt include file is, for the largest part. So it doesn't deal with actual Betza notation; the compilation is done by the JavaScript.
[Edit] Oops. It seems the GAME-code port of the interpreter does not support crooked/circular pieces yet. So the hack I mentioned for makin a more efficient implementation of the Rhino will not work. A reason to fix this in the betza.txt include file. The automatically generated code should have no problems.