Author: Ulrich Tuerke
Date: 02:25:50 01/20/99
Go up one level in this thread
On January 19, 1999 at 20:50:58, James Robertson wrote:
>I really enjoy playing matches between my program and others, but several of
>them give strange results when working with Winboard. My program does not
>recognize 3rd repetition, and when checkmates or is checkmated, does not
>announce the game result, but relies on the program opposite to take care of
>that. Unfortunately, I have gleefully looked upon several match results only to
>find that all my program's "wins" were really the opponent running out of time
>after 3rd repetition. This problem happens especially with Fortress 1.4b and
>Tristram 4.0. What commands must be sent to Winboard after checkmate, draw, etc.
>to have it stop the game?
>
>James
Below some extract of Tim Mann's engine-inf:
- When the game ends by checkmate, stalemate, triple repetition, the 50 move
rule, insufficient material, or resignation by your program, your program
should output a line of the form "R {comment}" (without the quotes), where R is
a PGN result code (1-0, 0-1, or 1/2-1/2), and comment is the reason. Examples:
0-1 {Black mates}
1-0 {Black resigns}
1/2-1/2 {Stalemate}
The following alternative strings are also accepted, but are not recommended
for new programs: "White resigns", "Black resigns", "White" (meaning White
mates), "Black" (meaning Black mates), "Draw", "resign", "computer mates",
"opponent mates", "computer resigns", "game is a draw", "checkmate". All these
strings are recognized if they begin a line and arbitrary characters follow, so
(for example) "White mates" will be recognized as "White", and "game is a draw
by the 50 move rule" will be recognized as "game is a draw". All the strings
are case-sensitive.
- At the end of each game, xboard will send you a "result R {comment}" command,
where R is either 1-0, 0-1, 1/2-1/2, or *. This indicates whether white won,
black won, the game was a draw, or the game was unfinished. You can use this
value for learning. If you won but did not just play a mate, your opponent
must have resigned or forfeited. If you lost but were not just mated, you
probably forfeited on time, or perhaps the operator resigned manually. If
there was a draw for some nonobvious reason, perhaps your opponent called your
flag when he had insufficient mating material (or vice versa), or perhaps the
operator agreed to a draw manually.
The "comment" string is purely a human-readable comment; its content is
unspecified and subject to change. In ICS mode, it is passed through from ICS
uninterpreted.
You will get a result command even if you already know the game ended -- for
example, after you just checkmated your opponent. In fact, if you send the "R
{comment}" command, you will simply get the same thing fed back to you. You
might not always get a "result *" command. In particular, you won't get one in
local chess engine mode when the user stops playing by selecting Reset, Edit
Game, Exit or the like.
- Your program may offer a draw by sending "offer draw". (In fact, any line
that contains the words "offer" and "draw" will work, but "offer draw" is
recommended for new programs.) In ICS mode, xboard forwards the draw offer to
ICS. In non-ICS mode, it pops up a message for the user. If the draw is
accepted, xboard will end the game.
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.