Добавлен PAMEXI
Что делать, если я, уже целый год, не могу ни как понять Jass?
Принятый ответ
Я бы предложил для начала попробовать себя в программировании, прежде чем использовать Jass. А так можно использовать GUI и переводить на Jass. На форуме даже была статья по оптимизации при переводе GUI –> Jass (да и просто оптимизации Jass и углубление в скриптование Warcraft 3). Лично мне это быстро помогло перейти на Jass за несколько дней.
Возможно, главным вопросом будет по типу: "А вы вообще понимаете, что вы делаете на том же GUI?"
Возможно, главным вопросом будет по типу: "А вы вообще понимаете, что вы делаете на том же GUI?"
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован PT153
А потом статьи на сайте прочитать про Jass.
Отредактирован Atesla
Возможно, главным вопросом будет по типу: "А вы вообще понимаете, что вы делаете на том же GUI?"
Кстати, хештаблица полезна не только в сочетании с таймером
Потом гуи стал очень сложен и неудобен, когда я начинал писать "крупные алгоритмы" и из за этого я начал конвертировать гуи в jass и там писать код, при этом постоянно смотрел конвертированные из гуи нужные мне функции (но со временем отвык)
Одновременно с этим начинал вспоминать как работают потоки и что такое однопоточность
После всего этого я решил почитать о структурах, помню что когда то в C++ подобное видел
В итоге я начал на cJass писать и я скажу: это невероятно удобно
Вместе с этим в Q/A смотрел на чужие вопросы и запоминал всякие фичи
Суммарно это заняло ~7 месяцев
я не могу понять логику конструкций, в гуи всё четко - события, условия, действия
в джазе же блоки непонятно (лично мне) в каком порядке
вызов функции пишется до её описания\содания (видел много раз, мб ошибаюсь и не так понял)
темный лес
Отредактирован Atesla
Отредактирован PT153
Нельзя вызвать функцию через call, если она не была определена ранее. Либо через триггер, либо через ExecuteFunc, либо сахаром от vJass. Так что тут ты ошибаешься.
А вообще в ООП языках (Java, C#, Eiffel) порядок функций (фич, методов, называйте как хотите) не важен.
ssbbssc:
Я могу хоть все действия в самом событии прописать, если мне будет достаточно GetFilterUnit(), но обычно это не так.
Если просто сконвертировать GUI в JASS, то внизу будет создание триггера, посередине действия, а вверху условия и доп. функции от GUI.
Более того, там даже подписано (по-английски, разумеется), что есть действия, условия и инициализация триггера (в последнем также регистрируются события).
Названия нативок и бж интуитивно понятны, если не понятны, то в помощь Blizzard.j и common.j, там есть комментарии к некоторым функциям. В крайнем случае спрашиваешь на этом форуме.
Если больше нравится C style (или не нравится синтаксис JASS), то нужно прочитать мануал по cJass и писать на нём.
Если нужно ООП и куча синтаксического сахара, читаешь мануал по vJass, на XGM есть достойный перевод.