[gnome-games] Make AI players claim draws where possible (Bug #592980)
- From: Robert Ancell <rancell src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gnome-games] Make AI players claim draws where possible (Bug #592980)
- Date: Tue, 1 Sep 2009 00:47:05 +0000 (UTC)
commit cb9cae9bbbcce4bda4fb9d5a79773ff0dda62b1e
Author: Robert Ancell <robert ancell gmail com>
Date: Tue Sep 1 10:45:36 2009 +1000
Make AI players claim draws where possible (Bug #592980)
glchess/src/lib/ai.py | 22 ++++++++++++++++++++--
1 files changed, 20 insertions(+), 2 deletions(-)
---
diff --git a/glchess/src/lib/ai.py b/glchess/src/lib/ai.py
index e2411ac..dae8c13 100644
--- a/glchess/src/lib/ai.py
+++ b/glchess/src/lib/ai.py
@@ -182,7 +182,15 @@ class CECPConnection(cecp.Connection):
else:
assert(self.player.suppliedMove is None)
self.player.suppliedMove = move
-
+
+ def onResign(self):
+ """Called by cecp.Connection"""
+ self.player.resign()
+
+ def onDraw(self):
+ """Called by cecp.Connection"""
+ print self.player.claimDraw()
+
def logText(self, text, style):
"""Called by cecp.Connection"""
self.player.logText(text, style)
@@ -375,6 +383,12 @@ class Player(game.ChessPlayer):
if self.__toEngineFd == None:
self.die()
return
+
+ # AI Engines always claim draw due to three-fold-repetition and
+ # 50 move rule
+ if self.claimDraw():
+ return
+
game = self.getGame()
whiteTime = game.getWhite().getRemainingTime()
blackTime = game.getBlack().getRemainingTime()
@@ -390,7 +404,11 @@ class Player(game.ChessPlayer):
move = self.suppliedMove
self.suppliedMove = None
self.move(move)
-
+
+ # AI Engines always claim draw due to three-fold-repetition and
+ # 50 move rule
+ self.claimDraw()
+
def onGameEnded(self, game):
"""Called by game.ChessPlayer"""
self.quit()
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]