示例#1
0
    IEnumerator bekle()
    {
        baslangicZaman = Time.time;
        yield return(new WaitForSeconds(5));

        if (carpan != 0)
        {
            foreach (Transform tf in carpanlar.transform)
            {
                aracKod tmpKod = tf.GetComponent <aracKod>();
                if (tmpKod.skor > skor)
                {
                    skor     = tmpKod.skor;
                    bestArac = tf.gameObject;
                }
            }



            carpan = 0;
            gen++;
            skor = -1;
            agEgit();
        }
    }
示例#2
0
    public void agEgit()
    {
        Debug.Log("jenerasyon:" + gen);

        if (gen == 0)
        {
            carpan = 0;
            for (int i = 0; i < pop; i++)
            {
                GameObject clone = Instantiate(arac, baslangic.transform.position, arac.transform.rotation);
                clone.name = "arac" + i.ToString();
                aracKod aracKodu = clone.AddComponent <aracKod>();
                aracKodu.aracDna = ga.Population.ToArray()[i];
                aracKodu.katmanAta();
                clone.transform.SetParent(hareket.transform);
                aracKodu.carpma = 0;
            }
        }
        else
        {
            carpan = 0;

            if (hareket.transform.childCount > 0)
            {
                foreach (Transform tf in hareket.transform)
                {
                    tf.GetComponent <aracKod>().carpma = 1;
                    tf.GetComponent <aracKod>().skorHesapla();
                    tf.SetParent(carpanlar.transform);
                }
            }


            ga.NewGeneration(3, true);

            foreach (Transform tf in carpanlar.transform)
            {
                Destroy(tf.gameObject);
            }

            GameObject.Find("Canvas/fitText").GetComponent <Text>().text = "Fitness: " + ga.BestFitness.ToString();
            GameObject.Find("Canvas/popText").GetComponent <Text>().text = "Populasyon: " + pop;
            GameObject.Find("Canvas/genText").GetComponent <Text>().text = "Jenerasyon: " + gen;
            GameObject.Find("Canvas/mutText").GetComponent <Text>().text = "Mutasyon: " + mutasyon;
            for (int i = 0; i < pop; i++)
            {
                GameObject clone2 = Instantiate(arac, baslangic.transform.position, arac.transform.rotation);
                clone2.name = "arac" + i.ToString();
                aracKod aracKodu = clone2.AddComponent <aracKod>();
                aracKodu.aracDna = ga.Population.ToArray()[i];
                aracKodu.katmanAta();
                aracKodu.carpma = 0;
                clone2.transform.SetParent(hareket.transform);
            }
        }
    }