public override void Collided(BaseUnit baseUnit) { double angle = CollisionChecker.GetAngle(_angle, _lastPosition, this, baseUnit); double randomAngle = new Random().NextDouble() / 10; int sign = new Random().Next() % 2 == 0 ? -1 : 1; _angle = angle + sign * randomAngle; }
//public bool IsFlying { get; set; } //public override Point Position { get; set; } //public new int Width { get; set; } //public new int Height { get; set; } #endregion #region Public Methods public override void Collided(BaseUnit baseUnit) { if (baseUnit.UnitType == UnitType.Player) { IsFlying = false; } if (baseUnit.UnitType != UnitType.Bonus) { double angle = CollisionChecker.GetAngle(_angle, _lastPosition, this, baseUnit); double randomAngle = new Random().NextDouble() / 10; int sign = new Random().Next() % 2 == 0 ? -1 : 1; _angle = angle + sign * randomAngle; } }