🕸Fergus Duniho wrote on Fri, May 29, 2020 07:53 PM UTC:
I would use code like the following in the Post-Move sections. This code is for White.
if isvisible $origin:
set piece $moved;
set from $origin;
set to $dest;
else:
set piece $prevmoved;
set from $prevorigin;
set to $prevdest;
endif;
// Regular code for enforcing piece movement, but using the variables defined above
// instead of the system variables.
if not isvisible $origin:
if != $moved J:
die You may not drop any piece other than a Joker.;
elseif != $dest $prevorigin:
set pname alias const alias $prevmoved;
die You may not drop your Joker on any space except the one the #pname just left.
endif;
delete $origin;
unsetflag $prevorigin;
elseif onboard !p2:
if not $answered and == mln $maxmln and <= turn 8 and flag $origin:
set jmove join "J*" $origin;
ask "Do you want to insert your Joker now?" "Yes" #jmove "No" "";
elseif >= turn 8:
delete !p2;
remind Joker removed because 8 turns passed without dropping it on the board.
else:
unsetflag $origin;
endif;
endif;
I would use code like the following in the Post-Move sections. This code is for White.