07-23-2020, 03:43 PM
You can take a look at "Double Chess.lud" for an example. I think that one features En Passant with a four-space Pawn advancement actually. The relevant part is in the following snippet (note: I took this from our current development version, so it might still be slightly different from the current public release; this will soon be included in a new public release though):
Note that you were basically trying to set pending on a larger region at once, which doesn't work. This sort of "inverts" the idea, and essentially uses multiple set pendings on individual sites.
Code:
(define "JumpOfPawn"
(move
Hop
(from)
Forward
(between
(range 1 3)
if:(is Empty at:(between))
(apply (set Pending (between)))
)
(to if:(is Empty at:(to)))
"SetEnPassantLocation"
)
)
Note that you were basically trying to set pending on a larger region at once, which doesn't work. This sort of "inverts" the idea, and essentially uses multiple set pendings on individual sites.