Этот урок я посвящу изучению циклов, массивов, функций и условий.
Начнём с самого простого. Это условия. Условия - это специальные фрагменты кода, построенные на условных операторах, исходя из истинности которых будет или не будет выполняться код внутри блока операторов.
Самый простой пример условия:
Code
if true == true then
// Действия при выполнении условия
else
// Действия при невыполнении условия
endif
Сразу замечу, что else-часть кода совершенно необязательно писать. Можно увидеть, что условие выше всегда будет истинно, ведь true = true (истина = истина).
Существует также условный оператор elseif, которого на триггерах нет вовсе. Давайте посмотрим пример блока условий с этим оператором.
Code
if true == true then
// Действия при выполнении условия
elseif true == false then
// Действия при выполнении условия true ==false
else
// Действия при невыполнении условия
endif
Вот такой синтаксис условий в Jass. true никогда не будет равно false, значит, это условие невыполнимо. Операторы сравнения условий в Jass:
> - больше, чем...
< - меньше, чем...
>= - больше или равно...
<= - меньше или равно...
== - полностью равно...
!= - не равно...
and - ... и ...
or - ... или ...
not - не ...
P.S.: При сравнении существует ещё одна фишка, её я вам открою позже, пока вам рано.
С условиями разобрались. Теперь рассмотрим циклы.
Цикл - повторяющийся до выполнения условия цикла блок действий. Цикл бывает бесконечным (если условие выхода всегда будет ложно) и конечным (если это условие когда-либо будет истинно).
Структура любого цикла на Jass:
Code
loop
exitwhen условие
// Действия цикла
endloop
Пример цикла - счётчик от одного до пяти:
Code
local integer i = 1
loop
exitwhen i > 5
// Действия, повторяющиеся 5 раз.
set i = i + 1
endloop
О переменных в Jass и GUI можно прочесть тут. Я использовал локальную целочисленную. P.S.: Добавлю только то, что в уcловии выхода из цикла нельзя использовать and, or и not.
Теперь поговорим о массивах. Индексный массив (в некоторых языках программирования также таблица, ряд) — именованный набор однотипных переменных, расположенных в памяти непосредственно друг за другом, доступ к которым осуществляется по индексу (в отличие от списка).
Индекс массива — целое число, либо значение типа, приводимого к целому, указывающее на конкретный элемент массива.
В локальном варианте массивы создаются так:
local тип array название
Учтите, что в отличие от формата local тип название её нельзя задавать сразу, надо писать:
Code
set название[индекс массива] = значение
Пример:
Code
local integer array i
set i[0] = 1
Вот и всё на этом уроке. Вечером - снова зачёт. Кстати, остался только один урок теории. Дальше - оттачивание скилла.