void getCamino(mouseNode rootNode, Pair<Integer, Integer> target) {
        List<Pair<Integer, mouseNode>> candidatos = new ArrayList<>(); //Guarda la profundidad del nodo y el nodo
        HashMap<Pair<Integer, Integer>, mouseNode> anteriores = new HashMap<>();
        mouseNode targetNode = null;

        //Llamadas a búsquedas
        if (informativeSearch) {
            busquedaAStar(rootNode, target, anteriores);
            targetNode = maze.get(target); //El nodo objetivo es el mismo queso.
        } else {
            //Comenzamos con límite 5. Si no hay casillas sin explorar,
            //incrementamos dicho límite en 5 unidades.

            int limite = 5;
            targetNode = null;
            while (targetNode == null) {
                targetNode = busquedaProfundidadLimitada(rootNode, target, anteriores, limite);
                limite += 5;
            }
        }

        //Si A* seleccionado, pero target inaccesible, empleamos la búsqueda de exploración.
        if (informativeSearch && !anteriores.containsKey(target)) {
            //Conocemos la posición del queso, pero es inaccesible.
            //El A* no llega a él.

            int limite = 5;
            targetNode = null;
            while (targetNode == null) {
                targetNode = busquedaProfundidadLimitada(rootNode, target, anteriores, limite);
                limite += 5;
            }
        }

        //Finalmente calculamos el camino al nodo objetivo          
        mouseNode curNode = anteriores.get(targetNode.getPos());
        camino.add(getDirection(curNode.getPos(), targetNode.getPos()));

        while (curNode != rootNode) {
            Pair<Integer, Integer> targetPos = curNode.getPos();
            curNode = anteriores.get(curNode.getPos());
            camino.add(getDirection(curNode.getPos(), targetPos));
        }

    }