Продолжайте в том же проекте rocket.
В этой задаче в классе LevelsTask нужно добавить в игру ещё несколько уровней.
В результате должны быть следующие уровни:
- Zero. Нулевая гравитация.
- Heavy. Постоянная гравитация 0.9, направленная вниз.
- Up. Гравитация направлена вверх и значение её модуля вычисляется по формуле 300 / (d + 300.0), где d — это расстояние от нижнего края пространства. Цель должна иметь координаты (X:700, Y:500)
- WhiteHole. Гравитация направлена от цели. Модуль вектора гравитации вычисляется по формуле 140*d / (d²+1), где d — расстояние до цели.
- BlackHole. В середине отрезка, соединяющего начальное положение ракеты и цель, находится аномалия. Гравитация направлена к аномалии. Модуль вектора гравитации равен 300*d / (d²+1), где d — расстояние до аномалии. Начальное положение ракеты и положение цели должны быть такими же как и на уровне WhiteHole.
- BlackAndWhite. Начальное положение ракеты и положение цели должны быть такими же как и на уровне WhiteHole. Гравитация равна среднему арифметическому гравитаций на уровнях WhiteHole и BlackHole.
Все уровни должны удовлетворять таким дополнительным условиям:
- Расстояние от начального положения ракеты до цели должно быть в пределах от 450 до 550.
- Угол между направлением на цель и начальным направлением ракеты должен быть не менее PI/4.
Постарайтесь избежать дублирования кода в этой задаче.
1 2 3 4 5 6 7 8 |
// Вставьте сюда финальное содержимое файла LevelsTask.cs using System; using System.Collections.Generic; namespace func_rocket { public class LevelsTask { |
Стоимость решения этой задачи всего 100 рублей, закажи решения у меня 🙂