Esempio n. 1
0
        public void Draw(SpriteBatch spriteBatch)
        {
            var i = 0;

            RandomAsteroids.ForEach(randomAsteroid =>
            {
                Sheet.SelectedFrame     = i.ToString();
                Sheet.Position.X        = randomAsteroid.Position.X;
                Sheet.Position.Y        = randomAsteroid.Position.Y;
                Sheet.Rotation.Rotation = randomAsteroid.Rotation.Rotation;
                Sheet.Scale             = randomAsteroid.Scale;
                Sheet.Color             = Color.SeaGreen;
                Sheet.Alpha             = randomAsteroid.Alpha;
                Sheet.Draw(spriteBatch);
                i++;
            });
        }
Esempio n. 2
0
        public override void Initialize()
        {
            var frames = new Dictionary <string, Rectangle>();

            for (int i = 0; i < TentacleCount; i++)
            {
                var randomTentacle = new RandomTentacle();
                RandomAsteroids.Add(randomTentacle);
                frames.Add(i.ToString(), new Rectangle(randomTentacle.FramePosition.ToPoint(), new Point(64)));
            }
            Sheet = new SpriteSheet(frames)
            {
                Path = "Image/Map/Cthulu/CthuluTentacleSet00"
            };
            Add(new AsteroidScreenBehaviour(Sheet));
            base.Initialize();
        }
Esempio n. 3
0
        public void Draw(SpriteBatch spriteBatch)
        {
            var i = 0;

            RandomAsteroids.ForEach(randomAsteroid =>
            {
                Sheet.SelectedFrame     = i.ToString();
                Sheet.Position.X        = randomAsteroid.Position.X;
                Sheet.Position.Y        = randomAsteroid.Position.Y;
                Sheet.Rotation.Rotation = randomAsteroid.Rotation.Rotation;
                Sheet.Scale             = randomAsteroid.Scale;
                Sheet.LayerDepth        = randomAsteroid.LayerDepth;
                Sheet.Color             = Color.BlueViolet;
                Sheet.Draw(spriteBatch);
                i++;
            });
        }
Esempio n. 4
0
        public override void Initialize()
        {
            var frames = new Dictionary <string, Rectangle>();

            for (int i = 0; i < AsteroidCount; i++)
            {
                var randomAsteroid = new RandomAsteroid();
                RandomAsteroids.Add(randomAsteroid);

                frames.Add(i.ToString(), new Rectangle(randomAsteroid.FramePosition.ToPoint(), new Point(32)));
            }
            Sheet = new SpriteSheet(frames)
            {
                Path = "Image/gamesheetExtended"
            };

            //Add(new AsteroidScreenBehaviour(Sheet));
            base.Initialize();
        }
Esempio n. 5
0
 public override void Update(GameTime time)
 {
     RandomAsteroids.ForEach(randomAsteroid => randomAsteroid.Update(time));
     ForEach(obj => obj.Update(time));
 }
Esempio n. 6
0
        public override void Update(GameTime time)
        {
            // if(CalcMass == null)
            // {
            //     CalcMass = new Task(() =>
            //     {
            //         var field = RandomAsteroids;
            //         for (int a = 0; a < field.Count; a++)
            //         {
            //             for (int b = 0; b < field.Count; b++)
            //             {
            //                 var asteroidA = field[a];
            //                 var asteroidB = field[b];

            //                 var distance = Vector2.Distance(asteroidA.Position.ToVector2(),
            //                                                 asteroidB.Position.ToVector2());
            //                 if(distance > 5000)
            //                     continue;
            //                 Console.WriteLine(distance);

            //                 // Console.WriteLine(asteroidA.Position.ToVector2().Length());

            //                 double force = 1f;
            //                 try
            //                 {
            //                     force = (asteroidA.Mass * asteroidB.Mass) / System.Math.Pow(distance,3);
            //                 }
            //                 catch(Exception ex)
            //                 {
            //                     Console.WriteLine("ups");
            //                 }


            //                 Console.WriteLine("force "+ force);

            //                 if(force > 20)
            //                     force = 0;

            //                 Thread.Sleep(0.05.Seconds());
            //                 var xDiff = asteroidB.Position.X - asteroidA.Position.X;
            //                 var yDiff = asteroidB.Position.Y - asteroidA.Position.Y;
            //                 var forceX = force * xDiff;
            //                 var forceY = force * yDiff;

            //                 asteroidA.Acceleration.X += (float)forceX / asteroidA.Mass;
            //                 asteroidA.Acceleration.Y += (float)forceY / asteroidA.Mass;

            //                 asteroidB.Acceleration.X -= (float)forceX / asteroidB.Mass;
            //                 asteroidB.Acceleration.Y -= (float)forceY / asteroidB.Mass;
            //             }
            //         }
            //         Console.WriteLine("-----------");
            //     });
            //     if(CalcMass.IsCompletedSuccessfully || CalcMass.Status == TaskStatus.Created){
            //         CalcMass.Start();

            //     }

            // }

            RandomAsteroids.ForEach(randomAsteroid => randomAsteroid.Update(time));
            //ForEach(obj => obj.Update(time));
        }