MainBoard erroneously reports opponent's move being on an invalid board, even though the sequence of moves is valid:
[jerky@neptun ultimate-ttt-py]$ uabc --host localhost:3141 -t bar --verbose -f "python3 samples/random_player_wrapper.py"
+----------------------------------+
| Ultimate Algorithm Battle |
+----------------------------------+
Waiting for server...
Connected!
[00:40:17 server] init
[00:40:17 server] waiting
[00:40:17 server] opponent 2,2;2,1
[00:40:17 player] 2,1;1,1
[00:40:17 server] opponent 1,1;1,2
Error: Traceback (most recent call last):
File "samples/random_player_wrapper.py", line 12, in
main()
File "samples/random_player_wrapper.py", line 7, in main
random_player.process_input(line.strip())
File "/usr/local/lib/python3.4/dist-packages/ultimate_ttt_player/ultimate_ttt_player.py", line 67, in process_input
self.add_opponent_move(board_coords, opponent_move)
File "/usr/local/lib/python3.4/dist-packages/ultimate_ttt_player/random_player.py", line 22, in add_opponent_move
self.game = self.game.add_opponent_move(board, opponent_move)
File "/usr/local/lib/python3.4/dist-packages/ultimate_ttt/main_board.py", line 95, in add_opponent_move
return self._add_move(board_coords, PlayerMove(Player.OPPONENT, move))
File "/usr/local/lib/python3.4/dist-packages/ultimate_ttt/main_board.py", line 178, in _add_move
raise MoveNotOnNextBoardError(board_coords, self._next_board_coords)
ultimate_ttt.errors.MoveNotOnNextBoardError
client> child process exited with code 1
Connection lost!
This indicates a problem either with the MainBoard or the player itself.