Esempio n. 1
0
 //face the opposite direction and flee if the predator is closer than the radius
 public void determineAction()
 {
     if (closestPredDist <= radius)
     {
         setHeading();
         move(World.step);
     }
     closestPred     = null;
     closestPredDist = float.MaxValue;
 }
Esempio n. 2
0
 //face the opposite direction and flee if the predator is closer than the radius
 public void determineAction()
 {
     if (closestPredDist <= radius)
     {
         setHeading();
         move(World.step);
     }
     closestPred = null;
     closestPredDist = float.MaxValue;
 }
Esempio n. 3
0
        public bool timeStep()
        {
            int predatorCount = Player.Count;

            if (Enemy.Count == 0)
            {
                return(false);
            }
            for (int pred = 0; pred < predatorCount; pred++)
            {
                Predator a = Player[pred];
                a.clearSensors();
                a.fillSensorsFront(Enemy);
            }

            //if (SkirmishNetworkEvaluator.trainingSeed)
            //distanceFromEnemy += Utilities.Distance(Enemy[0], Player[0]);

            for (int pred = 0; pred < predatorCount; pred++)
            {
                Player[pred].determineAction();
            }

            int preyCount = Enemy.Count;

            for (int prey = 0; prey < preyCount; prey++)
            {
                //mark the dead guys for deletion
                if (Enemy[prey].hitpoints <= 0)
                {
                    removeThese.Add(Enemy[prey]);
                    continue;
                }

                Enemy[prey].determineAction();
            }

            foreach (Prey a in removeThese)
            {
                Enemy.Remove(a);
            }
            removeThese.Clear();
            return(true);
        }
Esempio n. 4
0
 public void addPlayer(Predator player)
 {
     Player.Add(player);
 }
Esempio n. 5
0
 public void addPlayer(Predator player)
 {
     Player.Add(player);
 }