RPG Maker MV: Formula Correction (троичный не работает)

Используя программу под названием RPG Maker MV, внутри программы она позволяет использовать троичный оператор.

Мой вопрос заключается в том, как мне отформатировать это для создания точных расчетов:

a.atk * 5 / b.def * 4 >= 1 ? a.atk * 5 / b.def * 4 : 1

Я хотел бы принять уравнение: (a * 5) затем разделить на (b * 4), будучи больше 1

Если true: тогда используйте эту формулу, иначе / иначе используйте 1.

Таким образом, если число меньше 1 или отрицательно, оно просто "конвертирует" его в 1 (один).

Внутри программы (RPG Maker MV) эти цифры устанавливаются где-то еще в программе, но устанавливаются наверняка, прежде чем задавать вопрос.

a.atk представляет переменную пользователя атаки. (A может быть значением 2, если это помогает).

b.def представляет переменную защиту противника. (B может быть значением 3, если это помогает).

1 ответ

Решение

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

var a = 2;
var b = 2;
var result = (a * 5) / (b * 4) >= 1 ? (a * 5) / (b * 4) : 1
//1.25
Другие вопросы по тегам