/// <summary> /// Выполнить полет. /// </summary> /// <param name="energy">Используемый для полета источник энергии.</param> /// <returns>Расстояние, на которое выполнился перелет.</returns> public virtual int Move(EnergyBase energy) { if (energy == null) { throw new ArgumentNullException(nameof(energy)); } energy.Using(UsingEnergy); return(1); }
public override int Move(EnergyBase energy) { if (energy == null) { throw new ArgumentNullException(nameof(energy)); } // Очень нестабильный, но потенциально быстрый двигатель. // Потребляет случайное количество энергии. int factorEnergy = _random.Next(0, _maxFactor); energy.Using(UsingEnergy * factorEnergy); // Движется со случайной скоростью или вообще останавливается. int factorSpeed = _random.Next(0, _maxFactor); return(UsingEnergy * factorSpeed); }