Example #1
0
 def is_pseudo_legal(self, move: chess.Move) -> bool:
     if move.board_id is None:
         move.board_id = self.board_id
         output = super().is_pseudo_legal(move)
         move.board_id = None
         return output
     else:
         return super().is_pseudo_legal(move)
Example #2
0
 def push(self, move: chess.Move, time_s: Optional[float] = None):
     if time_s is None:
         time_s = time.time()
     assert self.total_simulated_moves == 0, "Cannot push move while there are simulated moves on the move stack"
     if move.board_id is None:
         move.board_id = OWN_BOARD
     assert move.board_id == OWN_BOARD
     assert self.boards[OWN_BOARD].turn == self.__own_color
     assert not self.is_game_over(time_s, check_clocks=False)
     self._send_move(move)
     if self.__push_own_moves:
         self._push(move, time_s=time_s)
     else:
         self.__waiting_for_own_move = True
         while self.__waiting_for_own_move and not self.game_finished(
                 time_s=time_s):
             self.receive_updates()
Example #3
0
 def push(self, move: chess.Move):
     move.board_id = self.board_id
     self._bughouse_boards.push(move)