Если функция остатка от деления (mod) в jass? Или нужно самому писать. Функция остатка от деления (c# 5/3=2; 500/100=0).
Пишется она довольно легко, но тогда ее придется инкрустировать в каждый триггер, где используется, мб встроенная есть. В ГУИ не нашел, интересует jass.
Если есть, то как записать: if (a mod 100 == 0) then

1.31+ - используй %.
Есть ModuloInteger и ModuloReal.
`
ОЖИДАНИЕ РЕКЛАМЫ...
16
мб %
set i = 0
set r = 333 / 100 = 3.33
set i = (r - I2R(R2I(r))) * 100
return i
28
1.31+ - используй %.
Есть ModuloInteger и ModuloReal.
Принятый ответ
28
TeX13, какой патч? Если 1.31, нужно отключить vJass. Если ниже, то только ModuloInteger и ModuloReal.
Открой blizzard.j и посмотри.
16
Работает как часы:
set i = ((r/с) - I2R(R2I(r/c))) * 100
i - возвращаемый остаток
r - делимое
c - делитель
28
TeX13, то что ты написал бред. Как это относится к остатку от деления? Ты находишь дробную часть и умножаешь на 100.
28
i = (5 / 2 - [5 / 2]) * 100 = (2.5 - 2) * 100 = 50. Остаток от деления на 2 равен 50? Вот это реально бред, а ModuloInteger как раз и использует основы математики.
28
Это при условии, что 5 / 2 выдаст 2.5, а не 2, тогда вообще 0 будет. На каком патче пишется карта?
TeX13, а что писать то. В ModuloInteger тоже самое.
function ModuloN takes integer a, integer n returns integer
    return a - a / n * n
endfunction

function ModuloNPos takes integer a, integer n returns integer
    set a = a - a / n * n
    if a < 0 then
        return a + n
    endif
    return a
endfunction
16
PT153, согласен, моя формула отвечает только на вопрос: равен ли остаток нулю, в принципе что мне и нужно было
PT153, пишу на актуале (официальный варик)
28
TeX13, тогда отключи JassHelper в Редакторе Триггеров и используй %.
16
PT153, а что вообще дает JassHelper?
PT153, аахаха, я конечно отключил и все сработало)) но потом спецом ошибку написал, триггер заблокировало, все нахер зависло и вырубило комп xDDD
28
а что вообще дает JassHelper?
vJass, но он не актуален для 1.31, Lua даёт куда больше возможностей.
25
TeX13, что значить полная запись? Вызываешь функцию
ModuloInteger(10, 3)
Возвращает остаток от деления 10 на 3. Куда уж проще.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.