public static void Load() { _objs = new BaseObject[201]; int size = 0; int base_speed = 5; //int angleA = 0; //int angleB = 0; //for (int i = 0; i < _objs.Length / 2; i++) //{ // size = rnd.Next(10,20); // angleA = rnd.Next(-1, 1); // if (angleA == 0) angleA = 1; // angleB = rnd.Next(-1, 1); // if (angleB == 0) angleB = 1; // _objs[i] = new BaseObject(new Point(rnd.Next(50,750), rnd.Next(50, 550)), new Point((base_speed - size)*angleA,(base_speed - size)*angleB), new Size(size, size)); //} //for (int i = _objs.Length / 2; i < _objs.Length; i++) //{ // size = rnd.Next(3, 6); // _objs[i] = new Star(new Point(rnd.Next(50, 750), rnd.Next(50, 550)), new Point(-1*(base_speed - size), 0), new Size(size, size)); //} // формируем свой фон (путешествие через космос) // в составе объекты: // а) звезды разных размеров и цветов (звездочки из 4 линий) // б) планеты (картинки) for (int i = 0; i < _objs.Length - 1; i++) { size = rnd.Next(1, 2); // звезды случайно заполнят пространство в правой 2/3 экрана и начнут течь на лево, имитируя полет вправо _objs[i] = new zvezda(new Point(rnd.Next(10, Game.Width - 10), rnd.Next(10, Game.Height - 10)), new Point(rnd.Next(base_speed, base_speed + 2), 0), new Size(size, size), rnd.Next(0, 3)); } _objs[200] = new Planet(new Point(400, 300), new Point(5, 0), new Size(235, 235)); //_bullet = new Bullet(new Point(0, 200), new Point(10, 0), new Size(30, 20)); //_asteroids = new Asteroid[70]; //for (var i = 0; i < _objs.Length; i++) //{ // int r = rnd.Next(5, 50); // _objs[i] = new Star(new Point(1000, rnd.Next(0, Game.Height)), new // Point(-r, r), new Size(3, 3)); //} //InitAster(_aCount); _heals = new Heal[3]; for (var i = 0; i < _heals.Length; i++) { _heals[i] = new Heal(new Point(Game.Width + rnd.Next(0, Game.Width / 4), rnd.Next(0, Game.Height)), new Point(-20, 0), new Size(20, 20)); } }
/// <summary> /// Конструктор таймера /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Timer_Tick(object sender, EventArgs e) { createHeal = createHeal - 1; Draw(); Update(); if (createHeal == 0) { _heal = new Heal(new Point(1000, r.Next(0, Height)), new Point(-5, 0), new Size(20, 20)); createHeal = r.Next(300, 10000); } }
public static void Load() { Random rnd = new Random(); int s = 0; asteroids = new Asteroid[30]; for (int i = 0; i < asteroids.Length; i++) { s = rnd.Next(10, 30); asteroids[i] = new Asteroid(new Point(rnd.Next(20, 1900), rnd.Next(20, 1000)), new Point(rnd.Next(3, 10), rnd.Next(3, 10)), new Size(s, s)); } heal = new Heal(new Point(Game.Width, rnd.Next(20, 1000)), new Point(rnd.Next(20, 50), rnd.Next(20, 50)), new Size(5, 5)); //bullet = new Bullet(new Point(ship.Rect.X + 60, ship.Rect.Y + 30), new Point(rnd.Next(30, 50), 0), new Size(1, 5)); }
public static void Update() { ConsoleMessage <string> strTarget = new ConsoleMessage <string>(StringTarget); //foreach (BaseObject obj in objs) obj.Update(); bullet?.Update(); heal?.Update(); if (heal != null && heal.Collision(ship)) { if (ship.Energy <= 90) { ship?.EnergyHeal(10); strTarget("Ship is healed"); } else { ship.EnergyClear(); } Random rnd = new Random(); heal = new Heal(new Point(Game.Width, rnd.Next(20, 1000)), new Point(rnd.Next(3, 10), rnd.Next(3, 10)), new Size(5, 5)); } for (var i = 0; i < asteroids.Length; i++) { if (asteroids[i] == null) { continue; } asteroids[i].Update(); if (bullet != null && bullet.Collision(asteroids[i])) { System.Media.SystemSounds.Hand.Play(); asteroids[i] = null; bullet = null; Count++; strTarget("Asteroid is hit"); continue; } if (!ship.Collision(asteroids[i])) { continue; } var rnd = new Random(); ship?.EnergyLow(rnd.Next(1, 10)); strTarget("Ship is hit"); System.Media.SystemSounds.Asterisk.Play(); if (ship.Energy <= 0) { ship?.Die(); } } }