Exemple #1
0
 public void Chill()
 {
     if (Chaser != null)
     {
         Chaser = null;
     }
     Speed = MinSpeed;
 }
Exemple #2
0
 public void Runaway(IPredator chaser, int chilloutTimer = 500)
 {
     this.Target = new Point()
     {
         X = Convert.ToInt32(X + (X - chaser.GetX()) * 1.33),
         Y = Convert.ToInt32(Y + (Y - chaser.GetY()) * 1.33)
     };
     Speed         = MaxSpeed;
     Chaser        = chaser;
     ChilloutTimer = chilloutTimer;
 }
Exemple #3
0
        public override IPredator GetNearestPredator()
        {
            IPredator predator = null;

            foreach (var sensedObject in Sensor.SensedObjects)
            {
                Fox fox = sensedObject.GetComponent <Fox>();

                if (fox != null)
                {
                    if (predator == null || MathExtensions.SquareDistanceBetween(Position, fox.Position) < MathExtensions.SquareDistanceBetween(Position, predator.Position))
                    {
                        predator = fox;
                    }
                }
            }
            return(predator);
        }
Exemple #4
0
        private void SetupEvolution(int populationSize, string target)
        {
            target = StringHelper.ClearRedundantChar(target);

            this.target   = PreyFactory.CreateEvoStringPrey(target);
            this.predator = PredatorFactory.CreateEvoStringPredator(this.target as EvoString);

            // 判重字典
            TypingCharacters.DicCharacters.Clear();
            TypingCharacters.DicCharacters.Add(target, 0);

            this.population = new List <IPrey>(populationSize);

            // Let the Typing Monkey in the factory type away.
            for (int i = 0; i < populationSize; i++)
            {
                this.population.Add(PreyFactory.CreateRandomEvoStringPrey(target.Length));
            }
        }
        private void SetupEvolution(int populationSize, string target)
        {
            this.target = PreyFactory.CreateEvoStringPrey(target);
            this.predator = PredatorFactory.CreateEvoStringPredator(this.target as EvoString);

            this.population = new List<IPrey>(populationSize);

            // Let the Typing Monkey in the factory type away.
            for (int i = 0; i < populationSize; i++)
            {
                this.population.Add(PreyFactory.CreateRandomEvoStringPrey(target.Length));
            }
        }
Exemple #6
0
 public void Chill()
 {
     if (Chaser != null)
         Chaser = null;
     Speed = MinSpeed;
 }
Exemple #7
0
 public void Runaway(IPredator chaser, int chilloutTimer = 500)
 {
     this.Target = new Point()
     {
         X = Convert.ToInt32(X + (X - chaser.GetX())*1.33),
         Y = Convert.ToInt32(Y + (Y - chaser.GetY())*1.33)
     };
     Speed = MaxSpeed;
     Chaser = chaser;
     ChilloutTimer = chilloutTimer;
 }
Exemple #8
0
 protected AnimalBase()
 {
     flyable   = new NoFly();
     crawlable = new NoCrawl();
     predator  = new PredatorOption();
 }