But if the piece at the end of the line is at the edge of the board, I want to capture it (push it off the board). The above code disallows the move if the last piece is at the board's edge. I wonder if there is a solution using zones or dummy squares.
The piece is inspired by Nemeroth's Go Away (but it can only push one line at a time, and any effects of or on the pushed pieces are ignored).
Indeed, the whole game is inspired by Nemeroth, but on the whole, it's much simpler to code in Zillions. There is an unapproachable piece, a piece that turns the target square to stone (by a rifle-capture-like move), a piece that moves and captures as a king, a piece that lays down a line of stones, and so on. Stones do not move on their own but can be captured or pushed (a bit like ichor without the bookkeeping). Victory is by stalemate or opponent's repetition. There is no concept of compulsion or multiple-occupancy squares.
My game loses much of Nemeroth's peculiar flavor but is interesting in its own right. Pushing pieces of the board will make it complete. I will need to clean up the Zillions file and author a page.
I solved the Mason move by using single-step moves and add-partial.
The last piece I'm coding can push a line of pieces. This almost does what I want:
(define push ($1 (verify not-empty?) cascade (while (not-empty? $1) $1 cascade) $1 add))
But if the piece at the end of the line is at the edge of the board, I want to capture it (push it off the board). The above code disallows the move if the last piece is at the board's edge. I wonder if there is a solution using zones or dummy squares.
The piece is inspired by Nemeroth's Go Away (but it can only push one line at a time, and any effects of or on the pushed pieces are ignored).
Indeed, the whole game is inspired by Nemeroth, but on the whole, it's much simpler to code in Zillions. There is an unapproachable piece, a piece that turns the target square to stone (by a rifle-capture-like move), a piece that moves and captures as a king, a piece that lays down a line of stones, and so on. Stones do not move on their own but can be captured or pushed (a bit like ichor without the bookkeeping). Victory is by stalemate or opponent's repetition. There is no concept of compulsion or multiple-occupancy squares.
My game loses much of Nemeroth's peculiar flavor but is interesting in its own right. Pushing pieces of the board will make it complete. I will need to clean up the Zillions file and author a page.