-
AncientPenguin | Дата: Четверг, 02-08-2012, 11:26:11 | Сообщение # 1 |
загрузка наград ...
Группа: Избранные
Сообщений: 449
Репутация: 526
Статус: Не на сайте
|
Уроки JASS Основы синтаксиса, урок № 2. “Условия и циклы”
Условия.
Условия в jass’е похожи на условия триггеров. Сначала проверяется условие и если оно вернет истину (true), то выполнится код, ну а если вернет лож (false), то код не выполниться. Условия выглядят так:
Code if <условие> then <действия> endif
Прежде чем разобрать условия на примерах расскажу об операциях сравнения. Существую следующие операции сравнения:
== - равно != - не равно > - больше < - меньше >= - больше либо равно <= - меньше либо равно not (<условие>) – не равно (прим. бесполезная фиговина) <условие> && <условие> - логическое И, возвращает true только если оба условия вернут true <условие> || <условие> - логическое ИЛИ, вернет true если хоть 1 из условий вернет true
Не уверен, что && и || это не плюшки vjass’a или cjass’a, так что если редактор на них ругается попробуйте заменить их на and (И) и or (ИЛИ).
Теперь примеры использования условий:
Code local integer a = 10 local integer b = 13
if a < b then set a = b endif
Что на русский переводиться так: Если значение переменной a меньше чем значение переменной b то присвоить переменной a значение переменной b.
Можно так же задать действия, на случай если условие вернуло лож:
Code if <условие> then <действия, которые будут выполнены, если условие вернуло истину> else <действия, которые будут выполнены, если условие вернуло ложь> endif
прим. else переводится как иначе
Еще можно сделать вот такой финт ушами:
Code if <условие> then <действия> elseif <условие> then <эти действия выполнятся, если первое условие вернет ложь, а второе - истину> endif
Можно сделать сколько угодно elseif’ов .
Циклы
Цикл это кусок кода, который будет повторятся несколько раз, пока не выполнится какое либо условие.
Code loop exitwhen <условие> <код> endloop
Код между loop и endloop будет выполнятся, пока условие не вернет истину. Тут есть один нюанс, если условие цикла никогда не сможет вернуть истину, то получится бесконечный цикл, а это 1) код после цикла никогда не выполнится, 2) будут очень смачные лаги. Циклы обычно используют для перебора всех элементов массива:
Code local integer I = 0 loop exitwhen I >= udg_ArrayLenght set udg_Array[i] = null endloop
прим. exitwhen может быть в любом месте в цикле.
Комментарии
Еще одна полезная вещь (хоть это и не очевидно) это комментарии. Комментарии это обычный текст, на который варкрафт не будет обращать никакого внимания. Они необходимы для того, чтобы делать пометки в коде, например что делает та или иная функция, или зачем нужна переменная. Синтаксис:
Сначала идет две косые черты, а за ними сам текст. Комментарий заканчивается символом новой строки (новой строкой т.е. кнопочкой энтр).
Текст комментария находится между /* и */, и может занимать несколько строк.
Заключение
Смотрим, читаем, вникаем, задания начнутся со следующего урока.
|
| | |
-
MarkSpartak | Дата: Суббота, 04-08-2012, 09:53:14 | Сообщение # 2 |
Tu tu-ru
загрузка наград ...
Группа: V.I.P.
Сообщений: 1261
Репутация: 1650
Статус: Не на сайте
|
Давай уже задание!!!!!!!!!
|
| | |
-
НубикВЕ | Дата: Суббота, 04-08-2012, 14:06:18 | Сообщение # 3 |
загрузка наград ...
Группа: Пользователи
Сообщений: 187
Репутация: 261
Статус: Не на сайте
|
Неинтересно, когда способности делать будем?
[c][/c]
|
| | |