Check out Smess, our featured variant for February, 2025.


[ Help | Earliest Comments | Latest Comments ]
[ List All Subjects of Discussion | Create New Subject of Discussion ]
[ List Earliest Comments Only For Pages | Games | Rated Pages | Rated Games | Subjects of Discussion ]

Single Comment

Play-test applet for chess variants. Applet you can play your own variant against.[All Comments] [Add Comment or Rating]
🕸Fergus Duniho wrote on Sun, Feb 16 09:23 PM UTC in reply to H. G. Muller from 07:55 PM:

Since I did not change anything to the shuffle.txt include file for ages, it is likely that it stopped working because Fergus changed something.

I don't see any include file by that name.

Do you have any idea why the GAME-code line

eval merge #dark "shuffle";     // to shuffle all the remaining

This is using the eval command to turn the result of the expression merge #dark "shuffle" into a command. In test code that just assigns this to a variable, I get a copy of the #dark array without the keyword shuffle in the array. I suppose the intention was to pass the contents of the #dark array as arguments to the shuffle command, as it would not take an array as an argument.

The word shuffle was placed in quotation marks to prevent it from being evaluated as a function, but it appears this no longer works. When I tried the spelling shuphle, merge returned an array that included the word. While putting it in quotation makes did not work, this code did work:

eval merge #dark join "shuf" "fle";

Using some recent changes to the language, this code would also work:

shuffle {list #dark};

And I have now modified the shuffle command so that this works:

shuffle #dark;