//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; }
//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; }
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); }
public void addPlayer(Predator player) { Player.Add(player); }
public void addPlayer(Predator player) { Player.Add(player); }