Exemplo n.º 1
0
    def reset(self):
        self.state = np.zeros((HEIGHT, WIDTH), dtype=np.int)
        self.pieces = {}
        self._step_cnt = 0
        self.is_over = False

        if self.config["novelty_scheme"] == "naive":
            self.visited_states = set()

        for piece_id in range(NUM_PIECES):
            piece = Piece.init_piece(piece_id)
            self.pieces[piece_id] = piece
            self.mark_cells(piece.get_occupied_cells(), piece_id)

        # mark empty cells
        self.mark_cells(Piece.get_empty_cells(), EMPTY_CELL_ID)

        return self.get_state()