void Start() { ambientes = GameObject.FindGameObjectWithTag("Ambiente"); for (int i = 0; i < ambientes.transform.childCount; i++) { companionEvolutivo = BusquedaHijos.buscarHijoPorTag(ambientes.transform.GetChild(i).gameObject, "Companion").GetComponent <CompanionEvolutivo>(); //Debug.Log("numero inviduo: "+ numeroIndividuo); GenomaNEAT aux = poblacion[numeroIndividuo]; companionEvolutivo.individuo = numeroIndividuo; companionEvolutivo.setRed(aux); tiempoDePrueba = tiempoPruebaOriginal; numeroIndividuo++; AmbienteEvolutivo ambienteLocal = ambientes.transform.GetChild(i).GetComponent <AmbienteEvolutivo>(); ambienteLocal.tiempoPruebaOriginal = tiempoPruebaOriginal; ambienteLocal.tiempoDePrueba = tiempoPruebaOriginal; ambienteLocal.listo = true; } companionEvolutivo = GameObject.FindGameObjectWithTag("Companion").GetComponent <CompanionEvolutivo>(); }
void Update() { UIManager.generacion = numeroGeneracion; UIManager.individuo = numeroIndividuo + 1; UIManager.especie = numeroEspecie; if (companionEvolutivo == null && numeroIndividuo < tamanioPoblacion && ambientes == null)///si el de cada ambiente /*companionEvolutivo = GameObject.FindGameObjectWithTag("Companion").GetComponent<CompanionEvolutivo>(); * companionEvolutivo.setRed(poblacion[numeroIndividuo]); * companionEvolutivo.setNumeroIndividuo(numeroIndividuo); * // companionEvolutivo.GenerarRed(maximoNeuronas);*/ { ambientes = GameObject.FindGameObjectWithTag("Ambiente"); for (int i = 0; i < ambientes.transform.childCount; i++) { companionEvolutivo = BusquedaHijos.buscarHijoPorTag(ambientes.transform.GetChild(i).gameObject, "Companion").GetComponent <CompanionEvolutivo>(); // Debug.Log("numero inviduo: " + numeroIndividuo); GenomaNEAT aux = poblacion[numeroIndividuo]; companionEvolutivo.individuo = numeroIndividuo; companionEvolutivo.setRed(aux); tiempoDePrueba = tiempoPruebaOriginal; numeroIndividuo++; AmbienteEvolutivo ambienteLocal = ambientes.transform.GetChild(i).GetComponent <AmbienteEvolutivo>(); ambienteLocal.tiempoPruebaOriginal = tiempoPruebaOriginal; ambienteLocal.tiempoDePrueba = tiempoPruebaOriginal; ambienteLocal.listo = true; } companionEvolutivo = GameObject.FindGameObjectWithTag("Companion").GetComponent <CompanionEvolutivo>(); } if (numeroIndividuo >= tamanioPoblacion && ambientes.GetComponent <Gimnasio>().Termino()) { //Debug.Log("Siguiente paso"); calificar(); seleccion(); List <GenomaNEAT> nuevaPoblacion = new List <GenomaNEAT>(); foreach (List <GenomaNEAT> especie in especies) { nuevaPoblacion.Add(cruceEspecie(especie)); } while (nuevaPoblacion.Count < tamanioPoblacion) { int seleccion = Random.Range(0, especies.Count - 1); //Debug.Log("Especies: " + especies.Count + " Seleccion: " + seleccion); nuevaPoblacion.Add(cruceEspecie(especies[seleccion])); } especies = new List <List <GenomaNEAT> >(); foreach (GenomaNEAT hijo in nuevaPoblacion) { aniadirAEspecies(hijo); } numeroGeneracion++; numeroIndividuo = 0; Debug.Log(estadoPoblacion()); poblacion = nuevaPoblacion; //aniadirAEspecies(todos) // ambientes.GetComponent<Gimnasio>().RecargarTodo(); SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex); // Debug.Log("Siguiente paso 2"); } }