Closed dranor11 closed 1 year ago
Fixed I believe. When the tutor is thinking, only the tutor's thinking is allowed. To the next update.
I'm also finding lots of issues with the tutor during compete and training games. Not sure if it is an issue with tutor or with takeback (or both). I'm using version 2.05d.
Following these steps I can reproduce a bad tutor state every time:
1) Go to Engines configuration. Set tutor engine to 'stockfish'. Set tutor appearance condition to 'always'. 2) Go to Train > Tactics >Training Positions > Endgames by Rui Grafino > The Four Basic Mates > The King and Rook Mate. 3) Select position 1. Make sure tutor is enabled. Accept. 4) Make a non-ideal move like Ke6+. 5) The tutor will suggest Rc3. Accept the tutor's suggestion. 6) Hit takeback move. 7) Make the same move as in step 4: Ke6+.
The tutor dialog will come up and the suggestion and prediction will be incorrect, the prev/next buttons don't work properly and the tutor will be messed up for the rest of the playthrough.
Once the tutor is in a bad state, I have seen it suggest moves, stating they are M+1 but they result in the loss of pieces and no mate in sight. I've had the tutor hang on me as well resulting in having to force an exit in this bad state.
Played around with this a bit more, and taking back a move is key to reproducing. If I pick the tutor's or my own suggestions (I can do this repeatedly), and never takeback a move, then I don't encounter any issues.
I have had to add two lines when a takeback is done:
ManagerEntPos.py:315
def takeback(self):
if self.is_rival_thinking:
return
if len(self.game):
self.analiza_stop() # added ########################
self.rm_rival = None # added ########################
self.game.anulaUltimoMovimiento(self.is_human_side_white)
self.goto_end()
self.is_analyzed_by_tutor = False
self.state = ST_PLAYING
self.refresh()
self.play_next_move()
Thank you very much.
Thank you sir!
Whenever the takeback function is used the whole game gets corrupted. This happens in three ways: