🕸💡📝Fergus Duniho wrote on Tue, Nov 3, 2009 02:56 AM UTC:
I have added logged constants to Game Courier's GAME Code language, and I have modified Fischer Random Chess to use them. The setconst command gives a value to a named constant. The value may be any polish notation expression the set command can also evaluate. If the constant is already defined, it will silently fail to change its value, because a constant value, once set, is supposed to remain constant. The unsetconst command, still untested, will unset a constant, just in case you have some good reason for changing the value of a constant. The const operator will return the value of a constant. The isconst operator will return whether there is a constant by the name given after it. A constant name may also be preceded by #, just as variable names can be. Constants take precedence over variables. So if a constant and a variable have the same name, such as name, #name will return the value of the constant.
Fischer Random Chess has been modified to save a game's random ordering of White's pieces to a constant called firstrank. If firstrank is already set, it will skip the randomization of the piece order and copy the order given in firstrank to rank one. It will then proceed as usual, setting up the last rank to mirror the first rank, etc. Look at the Pre-Game code in the preset for further details.
Also, I used a sample game of Fischer Random Chess to test the ability to take back moves. IT IS NOT WORKING YET. But it is too late for me to work on it tonight. Maybe I will get to it tomorrow.
I have added logged constants to Game Courier's GAME Code language, and I have modified Fischer Random Chess to use them. The setconst command gives a value to a named constant. The value may be any polish notation expression the set command can also evaluate. If the constant is already defined, it will silently fail to change its value, because a constant value, once set, is supposed to remain constant. The unsetconst command, still untested, will unset a constant, just in case you have some good reason for changing the value of a constant. The const operator will return the value of a constant. The isconst operator will return whether there is a constant by the name given after it. A constant name may also be preceded by #, just as variable names can be. Constants take precedence over variables. So if a constant and a variable have the same name, such as name, #name will return the value of the constant.
Fischer Random Chess has been modified to save a game's random ordering of White's pieces to a constant called firstrank. If firstrank is already set, it will skip the randomization of the piece order and copy the order given in firstrank to rank one. It will then proceed as usual, setting up the last rank to mirror the first rank, etc. Look at the Pre-Game code in the preset for further details.
Also, I used a sample game of Fischer Random Chess to test the ability to take back moves. IT IS NOT WORKING YET. But it is too late for me to work on it tonight. Maybe I will get to it tomorrow.