Я сильно в ихний "компайлер" не вникал, пока что. Только поверхностно смотрел.
Там скорее всего оргызок от плюсов. И построен он на старом добром "лексер, прасер, визитор". И если лексер не распознает идентификатор из таблицы define то магии не случится. По этой же причине, кстати, не работают комментарии внутри строковых литералов.
enum MyEnum {A, B, C}
int GetMyEnumValue(int myInt){
switch(myInt){
case MyEnum::A:
return MyEnum::A;
// Если myInt не является одним из значений MyEnum, используем MyEnum::B в качестве значения по умолчанию.
default:
case MyEnum::B:
return MyEnum::B;
case MyEnum::C:
return MyEnum::C;
}
}
Предположим, что у нас есть юнит А с бронёй, которая поглощает 50% урона.
Мы хотим за счёт повышения поглощения брони сделать этого юнита в 2 раза живучее при физических атаках.
Вопрос: какое должно быть новое поглощение урона, чтобы юнит А стал в 2 раза эффективнее?
Ответом будет: 75%.
Юнит, поглощающий 75% урона живёт вдвое дольше, чем юнит, поглощающий 50%.
Можно ещё на тычках объяснить. Хорошие числа получаются на 100хп и 4хп тычке.
4 - (4 * 0) = 4; 100 / 4 = 25 тычек для убийства
4 - (4 * .5) = 2; 100 / 2 = 50 тычек для убийства
4 - (4 * .75) = 1; 100 / 1 = 100 тычек для убийства
Конвертер работает неправильно. При запуске в игре и запуске js кода результаты отличаются.
function A takes nothing returns nothing
if false and true or true then
call BJDebugMsg("true")
else
call BJDebugMsg("false")
endif
if true or false and false then
call BJDebugMsg("true")
else
call BJDebugMsg("false")
endif
endfunction
Ред. nazarpunk
» Корсары / Передача данных
» Корсары / Функции
» Корсары / Передача данных
» Корсары / Директивы
» Корсары / Массивы
» Корсары / Условные операторы
» Корсары / Директивы
» Корсары / Массивы
» Корсары / Условные операторы
Ред. nazarpunk
» Корсары / Массивы
» Корсары / Директивы
» Корсары / Массивы
» Корсары / Условные операторы
» Корсары / Условные операторы
Ред. nazarpunk
» Корсары / Условные операторы
» Корсары / Условные операторы
Ред. nazarpunk
» Корсары / Типы данных
» WarCraft 3 / Документация
JassHelper
» WarCraft 3 / Баланс. Почему в Warcraft 3 рост брони НЕ идёт по убывающей полезности. Развенчиваем мифы.
4 - (4 * .5) = 2; 100 / 2 = 50 тычек для убийства
4 - (4 * .75) = 1; 100 / 1 = 100 тычек для убийства
» Корсары / События
» Корсары / События
» Unryze Jass API / [UjAPI] Конкурс Наработок 2024
» WarCraft 3 / Поиск незакрытых if'ов
» WarCraft 3 / Поиск незакрытых if'ов
» WarCraft 3 / Программа для конвертации jass кода в lua