@@ -16,6 +16,7 @@ def __init__(self):
1616 self .setup = False
1717 self .fen_eboard = None
1818 self .dispatch = None
19+ self .side_takeback = None
1920
2021 def envia (self , quien , dato ):
2122 # assert Code.prln(quien, dato, self.dispatch)
@@ -85,17 +86,30 @@ def registerBlackMoveInputFunc(self, dato):
8586 return self .envia ("blackMove" , self .dgt2pv (dato ))
8687
8788 def registerWhiteTakeBackFunc (self ):
88- # assert Code.prln("registerWhiteTakeBackFunc")
89- return self .envia ("whiteTakeBack" , True )
89+ # assert Code.prln("registerWhiteTakeBackFunc trying")
90+ if self .side_takeback is None :
91+ self .side_takeback = True
92+ if self .side_takeback :
93+ # assert Code.prln("registerWhiteTakeBackFunc")
94+ return self .envia ("whiteTakeBack" , True )
95+ else :
96+ return 0
9097
9198 def registerBlackTakeBackFunc (self ):
92- # assert Code.prln("registerBlackTakeBackFunc")
93- return self .envia ("blackTakeBack" , True )
99+ # assert Code.prln("registerBlackTakeBackFunc trying")
100+ if self .side_takeback is None :
101+ self .side_takeback = False
102+ if not self .side_takeback :
103+ # assert Code.prln("registerBlackTakeBackFunc")
104+ return self .envia ("blackTakeBack" , True )
105+ else :
106+ return 0
94107
95108 def activate (self , dispatch ):
96109 # assert Code.prln("activate")
97110 self .fen_eboard = None
98111 self .driver = driver = None
112+ self .side_takeback = None
99113 self .dispatch = dispatch
100114 if Code .is_linux :
101115 functype = ctypes .CFUNCTYPE
0 commit comments