Rein Halbersma wrote:In draughts/checkers, there can be multiple captures (with 6 or more pieces being taken in a single move) that are quite complicated to see even for experienced players.
This is why I proposed to have something similar to the /showTargetSquares option that WinBoard offers when legality checking is on. In normal Chess variants I let it indicate non-capture target squares of the lifted piece by a yellow dot, and capture target squares (which in Chess of course coincide with the captured piece) with red dots. But in suicide variants, where (like in draughts) capturing is mandatory, this distinction is not useful, as you will either have no captures, or, when you do have captures, no non-captures. So in the latter case I used the yellow dots not for indicating non-captures, but for indicating target squares of captures by other pieces than the lifted one. So that when you accidentally overlook a capture, and lift a piece that can only perform non-captures, the computer points out the capture.
I figure for Draughts you would need something similar to the latter, like indicating the pieces that can be played when you lift one that cannot be played, and indicating the squares you have to visit, or the pieces you can capture, or both, when you do lift a piece that you can legally move. Perhaps the first square you have to visit in red, and the square you have to end on in yellow. Anyway, something quite complex and game specific. But in a GUI that does no know the game rules, the only agent that can decide about this is the engine. Hence my proposal for the lift / put / highlight protocol, to make this generally possible for engines.
In any case, it would be nice if multi-leg moves could be entered by clicking on the intermediate squares only once. So for a e4c6, c6a4 capture, it would be nice just to click on e4c6a4.
I agree this would be nice, but it is also a bit of a problem. Because how is the GUI to know that the next leg will necessarily start with the same piece as the previous one? In Arimaa, for instance, this will not be the case. (And neither in Chess variants for non-standard castlings.)
I guess a good general solution would be to leave the piece that moved in the first leg selected (if Ctrl was pressed to indicate there will be a follow-up leg). Then a click on an empty square or enemy piece will be interpreted as the to-square of the second leg. A click on a new own piece, OTOH, would deselect the piece of the previous leg, and select the new one (possibly allowing you to drag it). So you could perform a Draughts multi-capture by pressing Ctrl, performing the first leg (by click-click or drag-drop, as you please), and then the remaining legs by clicking the other squares to visit. That sounds like a good general solution.
Or better yet, just to click e4a4, and let the engine decide whether this is the only unique move. Or is this at odds with what is to be expected from an engine?
Well, this is a problem that led us to the complex multi-leg move entry in the first place. In general from- and to-square are not enough information to fully specify the move, in Draughts. There could be different paths between the same squares. Basically, what you ask is the equivalent of the /oneClickMove option in Chess, where a move is already done based on partial entry (either the from or the to square, if there is only a single legal move from or to it). In a general GUI completely devoid of game knowledge this might be asking a bit too much. Even in the very simpletwo-square case of Chess the usefulness of one-click moving is a controversial topic.