Решения задачи с Ulearn

Практика «Уровни»

Продолжайте в том же проекте rocket.

В этой задаче в классе LevelsTask нужно добавить в игру ещё несколько уровней.

В результате должны быть следующие уровни:

  1. Zero. Нулевая гравитация.
  2. Heavy. Постоянная гравитация 0.9, направленная вниз.
  3. Up. Гравитация направлена вверх и значение её модуля вычисляется по формуле 300 / (d + 300.0), где d — это расстояние от нижнего края пространства. Цель должна иметь координаты (X:700, Y:500)
  4. WhiteHole. Гравитация направлена от цели. Модуль вектора гравитации вычисляется по формуле 140*d / (d²+1), где d — расстояние до цели.
  5. BlackHole. В середине отрезка, соединяющего начальное положение ракеты и цель, находится аномалия. Гравитация направлена к аномалии. Модуль вектора гравитации равен 300*d / (d²+1), где d — расстояние до аномалии. Начальное положение ракеты и положение цели должны быть такими же как и на уровне WhiteHole.
  6. BlackAndWhite. Начальное положение ракеты и положение цели должны быть такими же как и на уровне WhiteHole. Гравитация равна среднему арифметическому гравитаций на уровнях WhiteHole и BlackHole.

Все уровни должны удовлетворять таким дополнительным условиям:

  1. Расстояние от начального положения ракеты до цели должно быть в пределах от 450 до 550.
  2. Угол между направлением на цель и начальным направлением ракеты должен быть не менее PI/4.

Постарайтесь избежать дублирования кода в этой задаче.

Стоимость решения этой задачи всего 100 рублей, закажи решения у меня 🙂

Обновлено: 02.10.2018 — 21:54

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.