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)
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()
def push(self, move: chess.Move): move.board_id = self.board_id self._bughouse_boards.push(move)