void AIControlPlayer()
    {
        if (!target.alive)
        {
            for (int i = 0; i < GeneticAlien._instance.GetAlienList().Count; i++)
            {
                print("searching for an alien");
                var _alien = GeneticAlien._instance.GetAlienList()[i].GetComponent <GeneticAlien.Alien>();
                if (_alien.alive)
                {
                    target = _alien;
                    break;
                }
            }
        }
        else
        {
            if (transform.position.x < (target.instance.transform.position.x - 0.15f))
            {
                horizontalInput = 1;
            }
            else if (transform.position.x > (target.instance.transform.position.x + 0.15f))
            {
                horizontalInput = -1;
            }

            if (fireTimer >= 1f)
            {
                shootInput = true;
                Fire();
                fireTimer = 0;
            }
        }
    }
Пример #2
0
 public DNA(int _genomeLength, Func <char[]> getRandomGene, Func <int, float> fitnessFunction, GeneticAlien.Alien owner, bool initGenes = true)
 {
     GetRandomGene   = getRandomGene;
     FitnessFunction = fitnessFunction;
     random          = new System.Random();
     Owner           = owner;
     if (initGenes)
     {
         genes.Clear();
         for (int i = 0; i < _genomeLength; i++)
         {
             genes.Add(getRandomGene());
         }
     }
 }
 public void ResetPlayerAI()
 {
     target = new GeneticAlien.Alien();
 }