jakesylvestre / pychess

Automatically exported from code.google.com/p/pychess
GNU General Public License v3.0
1 stars 7 forks source link

feature request: threefold repetition automatic draw claim #631

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
While according to the FIDE rules the player need to claim a draw themselves, 
XBoard/WinBoard automatically claims a draw when two engines in an engine vs 
engine game run into a threefold repetition. I think this is probably based on 
the more or less safe assumption that in case none of the engines does this 
claim, none of them is aware of this rule (and to prevent the game from going 
on endlessly).

Since I recently ran into this situation myself (endless game due to engines 
hanging in endless repetition loop and PyChess (the GUI) not doing anything 
about it), I think it would be really nice if the PyChess GUI automatically 
ended the game with a draw in an engine vs engine game after a threefold 
repetition while offering a setting in the preferences to turn this off if not 
desired by the user.

What steps will reproduce the problem?
1. Run an engine vs engine game
2. Manage to run a game where they get stuck in endless repetitions while none 
of the two engines claims a draw

What is the expected output? What do you see instead?
Expected: PyChess adjusts to a draw automatically (if not turned off in 
preferences) if a position is reached the third time with the same player on 
move. Instead it simply lets the game continue forever

Does it happen every time?
Assumably (but only tested once)

What version of the product are you using?
0.10rc1

Did you use an installed version of PyChess or did you run in from a
tarball/svn?
svn

Original issue reported on code.google.com by jonas.thiem@gmail.com on 3 Jan 2011 at 9:54

GoogleCodeExporter commented 9 years ago

Original comment by gbtami on 4 Jan 2011 at 4:43

GoogleCodeExporter commented 9 years ago
I committed this in rev 5fabb2cfb2d9, just without config option for now.
What do you think, after this fix, issue #629 and #630 still needed?

Original comment by gbtami on 15 Oct 2011 at 3:16

GoogleCodeExporter commented 9 years ago
Of course issue #629 should be still fixed, since there might be other reasons 
why someone might want to stop/pause an engine vs engine game (without being 
required to terminate the whole PyChess program). #630 is probably unneeded 
because I don't know of any chess engine which does that, so it wouldn't be too 
bad if the PyChess engine didn't.

Original comment by jonas.thiem@gmail.com on 17 Oct 2011 at 11:50

GoogleCodeExporter commented 9 years ago
Ok, I closed #630 with wontfix. If one want to work on that in the future, he 
can reopen it.

Original comment by gbtami on 17 Oct 2011 at 6:57

GoogleCodeExporter commented 9 years ago
Jonas, what do you think is there any reason to turn off this new behavior with 
a config option?

Original comment by gbtami on 21 Oct 2011 at 9:21

GoogleCodeExporter commented 9 years ago
No :-) also it seems to work fine in the current hg revision, therefore closing 
this as fixed.

Original comment by jonas.thiem@gmail.com on 22 Sep 2012 at 2:45