Что Делает каждый операнд в этой строчке?

207
13 марта 2017, 09:02

Что Делает каждый операнд в этой строчке?

double dist = Math.Sqrt(Math.Pow(enemyPosX - posX, 2) + Math.Pow(enemyPosY - posY, 2));
Answer 1

Если принять, что enemyPosX и enemyPosY это координаты врага относительно экрана, а posX и posY - координаты игрока, то

  • Берем расстояние между врагом и игроком по X (enemyPosX - posX)

  • Возводим это расстояние в квадрат Math.pow(расстояние, 2)

  • Берем расстояние между врагом и игроком по Y (enemyPosY - posY)

  • Возводим это расстояние в квадрат Math.pow(расстояние, 2)

  • Складываем полученные квадраты

  • Берем корень из полученной суммы

  • Присваиваем результат переменной dist

ИТОГО

Ищется длина гипотенузы. Корень суммы квадратов катетов, причем длины катетов являются расстоянием между врагом и игроком

UPDATE

В классе Math есть метод hypot для нахождения длины гипотенузы, так что лучше не писать велосипед

double dist = Math.hypot(enemyPosX - posX, enemyPosY - posY);

Подробнее о классе Math

Answer 2

Рискну предположить что это расчет теоремы Пифагора: функция Pow - это возведение в степень, сначало определяется сумма квадратов катетов а затем берется квадратный корень (функция sqrt) из этой суммы

READ ALSO
Java. Hibernate. foreign key

Java. Hibernate. foreign key

Есть 2 таблицы в БД

261
Ошибка unreachable statement

Ошибка unreachable statement

Прохожу урок на StartAndroid, возникла ошибка в коде, не могу понять как исправить, нужный класс импортирован, всё переписал как в примере, помогите...

391
Браузер уменьшает толщину border?

Браузер уменьшает толщину border?

Здравствуйте! У меня такая проблема: браузер Chrome отображает ширину border у html элементов не такую, как задана в стилях, а уменьшенную в 08 раз

278
Как задать константу в padding ссылки

Как задать константу в padding ссылки

У меня есть константа объявленная как

321