public PointWithIntensity GetPointWithIntensity(Position p) { LIList <PointWithIntensity> .Enumerator e = points.GetEnumerator(); while (e.MoveNext()) { if (e.Current.Tile.Position == p) { return(e.Current); } } return(null); }
public Spider GetNearestSpider(LIList <Spider> spiders) { int min = Int32.MaxValue; int tmp; LIList <Spider> .Enumerator e = spiders.GetEnumerator(); Spider bestSpider = null; while (e.MoveNext()) { if ((tmp = DistanceMeasurer.Taxi(this.Position, e.Current.Position)) < min) { bestSpider = e.Current; min = tmp; } } return(bestSpider); }
protected Food GetNearestFood(LIList <Food> foods) { if (foods.Count == 0) { return(null); } Food bestFood = null; int min = Int32.MaxValue; int tmp; LIList <Food> .Enumerator e = foods.GetEnumerator(); while (e.MoveNext()) { if ((tmp = DistanceMeasurer.Taxi(this.Position, e.Current.Position)) < min) { bestFood = e.Current; min = tmp; } } return(bestFood); }
private Ant FindNearestAnt() { if (Simulation.simulation.queen == null) { return(null); } if (AntHillConfig.antSightRadius >= DistanceMeasurer.Taxi(Simulation.simulation.queen.Position, this.Position)) { return(Simulation.simulation.queen); } LIList <Ant> ants = Simulation.simulation.GetVisibleAnts(this); if (ants == null) { return(null); } if (ants.Count == 0) { return(null); } int minDistance = DistanceMeasurer.Taxi(ants.First.Value.Position, Position); int distance; Ant bestAnt = null; LIList <Ant> .Enumerator ant = ants.GetEnumerator(); while (ant.MoveNext()) { if ((distance = DistanceMeasurer.Taxi(this.Position, ant.Current.Position)) < minDistance) { bestAnt = ant.Current; minDistance = distance; } } return(bestAnt); }