Beispiel #1
0
    public void CreateCreatures()
    {
        for (int i = 0; i < variations; i++)
        {
            // Mutate the genome
            GenomeT genome = bestGenome.Clone();
            genome.Mutate();

            // Instantiate the creature
            Vector3    position = Vector3.zero + distance * i;
            GameObject obj      = Instantiate(prefab, position, Quaternion.identity, container.transform);
            CreatOrig  creature = obj.transform.GetChild(0).GetChild(0).GetComponent <CreatOrig>();

            creature.genome = genome;
            creatures.Add(creature);
        }
    }
Beispiel #2
0
    //thread to track best creature (Alan)
    IEnumerator trackBestT()
    {
        while (tut.running)
        {
            if (Camera.main.GetComponent <MoveCam>().lockon)
            {
                if (tut.creatures.Count > 0)
                {
                    List <CreatOrig> sort = tut.creatures.OrderByDescending(o => o.CurScore()).ToList();

                    CreatOrig best = sort[0];
                    bestCreat = best.transform;
                    prevPos   = Camera.main.transform.position;
                    camz      = prevPos.z;
                }
            }
            else
            {
                bestCreat = null;
            }

            yield return(new WaitForSeconds(2));
        }
    }