Пример #1
0
        public Obstacle CreateNewObstacle()
        {
            var obstacle = new Obstacle
            {
                Position = new Position {
                    X = BoidHelper.GetRandomNumber(100, 700), Y = BoidHelper.GetRandomNumber(100, 500)
                },
            };

            return(obstacle);
        }
Пример #2
0
        private void UpdateBoid(Boid boid, Velocity velocity, Settings settings)
        {
            boid.Velocity    = BoidHelper.AdjustVelocity(velocity, settings.MaxVelocityBoid);
            boid.Position.X += boid.Velocity.X;
            boid.Position.Y += boid.Velocity.Y;

            //Out of bounce
            boid.Position.X = (boid.Position.X > 800) ? boid.Position.X - 800 : (boid.Position.X < 0) ? boid.Position.X + 800 : boid.Position.X;
            boid.Position.Y = (boid.Position.Y > 600) ? boid.Position.Y - 600 : (boid.Position.Y < 0) ? boid.Position.Y + 600 : boid.Position.Y;

            //Angle
            boid.Velocity.Deg = Math.Atan2(boid.Position.Y, boid.Position.X) * 180.0 / Math.PI;
        }
Пример #3
0
        public Boid CreateNewBoid(Settings settings)
        {
            var boid = new Boid
            {
                Position = new Position {
                    X = BoidHelper.GetRandomNumber(0, 800), Y = BoidHelper.GetRandomNumber(0, 600)
                },
                Velocity = new Velocity {
                    X = BoidHelper.GetRandomNumber(-15, 15), Y = BoidHelper.GetRandomNumber(-15, 15)
                }
            };

            boid.Velocity = BoidHelper.AdjustVelocity(boid.Velocity, settings.MaxVelocityBoid);

            //Out of bounce
            boid.Position.X = (boid.Position.X > 800) ? boid.Position.X - 800 : (boid.Position.X < 0) ? boid.Position.X + 800 : boid.Position.X;
            boid.Position.Y = (boid.Position.Y > 600) ? boid.Position.Y - 600 : (boid.Position.Y < 0) ? boid.Position.Y + 600 : boid.Position.Y;

            //Angle
            boid.Velocity.Deg = Math.Atan2(boid.Position.Y, boid.Position.X) * 180.0 / Math.PI;

            return(boid);
        }