Thanks a lot!
(11-25-2021, 10:38 AM)Michael Wrote: I have found yet another bug in Lielow. This one is mine, though. It comes from a misunderstanding of how (and) works. The consequence of the main ludeme inside (play) currently looks like this: Code:(and (remove (sites Outer) count:(size Stack at:(last To))) ("UpdateKing") ) But it needs to be: Code:(do (remove (sites Outer) count:(size Stack at:(last To))) next:("UpdateKing") ) I mistakenly thought (remove (sites Outer) count:(size Stack at:(last To))) was called before ("UpdateKing") either way. Can you make this change? I'm afraid my local file is not up to date.
(and (remove (sites Outer) count:(size Stack at:(last To))) ("UpdateKing") )
(do (remove (sites Outer) count:(size Stack at:(last To))) next:("UpdateKing") )
(do (remove (sites Outer) count:(size Stack at:(last To))) next:("UpdateKing") (pass) )
(08-26-2022, 05:20 PM)Michael Wrote: In light of what I have now learned about (do next:), this needs to be Code:(do (remove (sites Outer) count:(size Stack at:(last To))) next:("UpdateKing") (pass) )or something functionally equivalent.
(define "UpdateKing" (if (= 1 (count Sites in:(forEach (sites Occupied by:Mover) if:(= (size Stack at:(site)) (max (results from:(sites Occupied by:Mover) to:0 (size Stack at:(from)) ) ) ) ) ) ) (forEach Piece (if (= (size Stack at:(from)) (max (results from:(sites Occupied by:Mover) to:0 (size Stack at:(from)) ) ) ) (set State at:(from) 1) (set State at:(from) 0) ) Mover top:True ) (pass) //THIS IS NEW ) )