Nick Wedd wrote:
Sorry, but I can't take this seriously. If your board update routine
fails, just fix it. As long as you trust the controller to send legal
moves, it's well defined how the board will look. The same board
update logic can be used for all rulesets. If you don't agree about
the legality, complain in a logfile. If you don't trust the controller
to send legal moves, you have a problem that is hardly properly solved
by asking it for a different board state description.

I agree that the server knows better than me about the legality. I trust the server to make legal moves. I just might not know how to update the board state after a move I had not realised was possible.

In 1998, running the Ing Cup, I tested all the entrants for their behaviour when someone played a suicide move at them. Many Faces put up a polite dialog box explaining that this was an illegal move. Go++ was more amusing: it allowed the move (which you would approve) but left the suicided stones on the board, where they became almost unkillable, it could not capture them by removing their last liberty as they didn't have one, the only way to lose them was to capture exactly one of their surrounding stones, in a perverted kind of snapback. I would have preferred these programs to have been able to respond "wtf is going on, please tell me the current board state".

Well, the thing is that fixing the board update logic should in most cases be a matter of adding a small number of lines, or in extreme cases even removing some lines. In terms of programming it's a much bigger operation to obtain information by external communication and then trying to recover the internal data structures.

/Gunnar
_______________________________________________
computer-go mailing list
[email protected]
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to