コード例 #1
0
ファイル: FoodSensor.cs プロジェクト: ismaweb/evolvers
        public override double Sense(Universe universe, CreatureElement parent)
        {
            Vector orientation = parent.Orientation + DirectionFromParent;
            Vector displacement;
            double foodSense = 0;

            foreach (FoodElement food in universe.Elements.OfType<FoodElement>())
            {
                displacement = food.Position - parent.Position;

                if (Vector.AngleBetween(orientation, displacement) < Range)
                {
                    foodSense += (1 / displacement.LengthSquared) * food.GetSize();
                }
            }

            return foodSense;
        }
コード例 #2
0
ファイル: PlaygroundElement.cs プロジェクト: ismaweb/evolvers
 public PlaygroundElement(Universe universe)
 {
     Universe = universe;
 }
コード例 #3
0
ファイル: Engine.cs プロジェクト: ismaweb/evolvers
 public Engine()
 {
     Universe = new Universe();
 }
コード例 #4
0
ファイル: Sensor.cs プロジェクト: ismaweb/evolvers
 public abstract double Sense(Universe universe, Vector parentDirection);
コード例 #5
0
ファイル: Sensor.cs プロジェクト: ismaweb/evolvers
 public abstract double Sense(Universe universe, Vector parentDirection);