/// <summary> /// Изменение свойст астеройда /// Если его координаты < 0 по X, то он пеерносится в конец /// области игры. Если астеройд был взорван и достиг начала области /// игры то его рисунок меняется на стандартный /// </summary> public override void Update() { Pos.X = Pos.X - Dir.X; if (Pos.X < 0) { Pos.X = Game.Width; Pos.Y = Game.rand.Next(0, 560); Dir.X = Game.rand.Next(1, 5); if (new Random().Next(1, 100) < 5) { TypeAsteroid = eTypeAsteroid.BonusStar; } else { TypeAsteroid = eTypeAsteroid.Asteroid; rewardPoints.ResetPoints(); } } if (rewardPoints.timeLife > 0) { rewardPoints.timeLife += 1; } if (rewardPoints.timeLife > LabelRewardPoints.TIMELIFE) { rewardPoints.lableShow = false; rewardPoints.timeLife = 0; EventUpdateInfoRewardPoints(rewardPoints); Game.rewardPoints += rewardPoints.rewardPoints; } }
public Asteroid(Point pos, Point dir, Size size, eTypeAsteroid typeAsteroid) : base(pos, dir, size) { ChekBaseObject(); TypeAsteroid = typeAsteroid; Health = 1; rewardPoints = new LabelRewardPoints(); }
public override void Die() { if (TypeAsteroid == eTypeAsteroid.Asteroid) { TypeAsteroid = eTypeAsteroid.Bang; } else if (TypeAsteroid == eTypeAsteroid.BonusStar) { Pos.X = 1100; Pos.Y = new Random().Next(0, 560); } rewardPoints.lableShow = true; rewardPoints.timeLife = 1; EventUpdateInfoRewardPoints(rewardPoints); rewardPoints.label.Location = Pos; }
public Asteroid(Point pos, Point dir, Size size) : base(pos, dir, size) { TypeAsteroid = eTypeAsteroid.Asteroid; Health = 1; rewardPoints = new LabelRewardPoints(); }