コード例 #1
0
 public GenomaNEAT cambiarCromosoma(CompanionEvolutivo companion)
 {
     companionEvolutivo = companion;
     numeroIndividuo++;
     if (numeroIndividuo < tamanioPoblacion)
     {
         companionEvolutivo.setRed(poblacion[numeroIndividuo]);
         companionEvolutivo.individuo = numeroIndividuo;
     }
     return(null);
 }
コード例 #2
0
    void Start()
    {
        companionEvolutivo = GameObject.FindGameObjectWithTag("Companion").GetComponent <CompanionEvolutivo>();

        /*if (GameObject.FindGameObjectWithTag("AmbienteEvolutivo").GetComponent<Gimnasio>() != null)
         * {
         *  gym = GameObject.FindGameObjectWithTag("AmbienteEvolutivo").GetComponent<Gimnasio>();
         * }
         * else {
         *  gym = null;
         * }*/
        gym = null;
    }
コード例 #3
0
 // Use this for initialization
 void Start()
 {
     Agente = GetComponent <UnityEngine.AI.NavMeshAgent>();
     if (EsEntrenador)
     {
         player = BusquedaHijos.buscarHijoPorTag(transform.parent.parent.gameObject, "Player").GetComponent <PlayerHealth>();
     }
     else
     {
         player = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerHealth>();
     }
     colisionador       = gameObject.GetComponent <CapsuleCollider>();
     companionEvolutivo = GameObject.FindGameObjectWithTag("Companion").GetComponent <CompanionEvolutivo>();
     //Debug.Log("" + disparador.GetInstanceID());
     //Invoke("movimientoAleatorioV2", 1.0f);
     //Invoke("disparoNoApuntadoAleatorio", 2.0f);
 }
コード例 #4
0
 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>();
 }
コード例 #5
0
 void Start()
 {
     companion    = BusquedaHijos.buscarHijoPorTag(gameObject, "Companion").GetComponent <CompanionEvolutivo>();
     saludJugador = BusquedaHijos.buscarHijoPorTag(gameObject, "Player").GetComponent <PlayerHealth>();
     evolutivo    = GameObject.FindGameObjectWithTag("Evolutivo").GetComponent <AlgoritmoEvolutivo>();
 }
コード例 #6
0
    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");
        }
    }