public int correSimulacion(Estrategia estr, Datos dato, String id,
			int max_time) {
		Nodo nodo = null;
		time = 0;
		if (true) {
			estado = new Estado(estr);
			for (Sensor x : estr.getSensores())
				x.setEstado(estado);

			estr.setEstado(estado);
			estado.initEstado();
			addAleatOponents(MAX_ENEMIGOS);
		}

		Logger.debug("Comenzando. Quedan:" + estado.presas + " presas libres");
		try {
			while ((nodo = estado.busca()) != null && estado.presas > 0
					&& max_time-- > 0) {
				time++;
				Logger.debug("Posicion: " + estado.getActual()
						+ "\nRestantes: " + estado.presas);
				estado.guardaValoresEstado(dato, id, MAX_ENEMIGOS);
				estado.updateEstado(nodo);

			}
			Logger.debug("Simulacion terminada: " + nodo.toString()
					+ " Presas capturadas: " + (MAX_ENEMIGOS - estado.salvadas)
					+ "\n" + "Presas salvadas: " + estado.salvadas);
		} catch (NullPointerException e) {
			System.err.println(e.getMessage());
		}
		return (MAX_ENEMIGOS - estado.salvadas);

	}