| Author |
Message |
Roger J Cooper (Rogercooper)
| | Posted on Saturday, July 29, 2000 - 7:25 am: | |
I am working on a chess variant where part of the board is off-limits initially (ranks 5 and 6). I can easily put neutral blocks there to prevent movement, but get ridding of them is a problem. Is there a way to give the piece the option of capturing itself (or promoting to nothing)? Or is there a better approach to the whole problem? |
Marek Ctrnact (Marek14)
| | Posted on Saturday, July 29, 2000 - 3:41 pm: | |
Try the same approach as for the previous message: Give each player a dummy piece (Reaper, say) with move looking like this: (a1 (while (on-board? next) (if (piece? Block) capture add-copy) next)) Of course, this construction requires to have a direction called "next" which cycles through all squares on the board (or, in your case, maybe just the squares in the 5th and 6th rank), and also a dummy off-board square on which the cycle would end. |
Roger J Cooper (Rogercooper)
| | Posted on Sunday, July 30, 2000 - 9:43 am: | |
Thanks for the help. I improved upon your idea by making it a drop. The ZRF is: (piece(name Reaper) (drops((verify (piece? Block))capture add-copy))) This eliminated the need for defining "next" or an off-board space. |
Marek Ctrnact (Marek14)
| | Posted on Sunday, July 30, 2000 - 5:04 pm: | |
Yes, that would work. Just remember to put at least one Reaper to off-board pool and, preferably, setting recycle-captures to true. |
|