|
Love 2D
Уроки по Созданию игр и разработке приложений с Love2D
операторы условий и цыклы
начнем с операторов условий но чтобы работать с ними вам понадобится знать логические операторы: "==" оператор сравнения(если равно) ,пример: b = 2 == 1 b будет равен false поскольку 2 не равно 1. -------------------------------------------------- "~=" оператор сравнения(если не равно) ,пример: b = 2 ~= 1 b будет равен true поскольку 2 не равно 1. --------------------------------------------------- ">" оператор сравнения(если больше) ,пример: b = 2 > 1 b будет равен true поскольку 2 больше чем 1. -------------------------------------------------- "<" оператор сравнения(если меньше) ,пример: b = 2 < 1 b будет равен false поскольку 2 больше чем 1. -------------------------------------------------- ">=" оператор сравнения(если меньше или равно) ,пример 1: b = 2 >= 1 b будет равен false поскольку 2 больше чем 1. b = 2 >= 2 b будет равен false поскольку 2 равно 2. "<=" оператор сравнения(если меньше или равно) аналогично предыдущему только наоборот -------------------------------------------------- а теперь операторы условий но сперва запомните что в Lua все значения кроме nil(пустота ,ничего) и false(ложь) являются истиной рассмотрим следующий код: a = 1 b = 2 if a == b then c = 3 end
синтаксис на русском: a = 1 b = 2 если a равно b то c = 3 конец вывод синтаксиса: if <условие> then <команда 1> <команда 2> ... <команда n> end идем дальше if <условие> then <команда 1> <команда 2> ... <команда n> else--else это иначе <команда 1> <команда 2> ... <команда n> end идем ещё дальше if <условие> then <команда 1> <команда 2> ... <команда n> elseif <условие> then--если не выполнилось предыдущее IF то проверить это <команда 1> <команда 2> ... <команда n> else--если не выполнилось не одно IF то делать это <команда 1> <команда 2> ... <команда n> end и elseif можно вписывать сколько угодно: if <условие> then <команда 1> <команда 2> ... <команда n> elseif <условие> then--если не выполнилось предыдущее IF то проверить это <команда 1> <команда 2> ... <команда n> elseif <условие> then--если не выполнилось предыдущее IF то проверить это <команда 1> <команда 2> ... <команда n> elseif <условие> then--если не выполнилось предыдущее IF то проверить это <команда 1> <команда 2> ... <команда n> elseif <условие> then--если не выполнилось предыдущее IF то проверить это <команда 1> <команда 2> ... <команда n> elseif <условие> then--если не выполнилось предыдущее IF то проверить это <команда 1> <команда 2> ... <команда n> elseif <условие> then--если не выполнилось предыдущее IF то проверить это <команда 1> <команда 2> ... <команда n> else--если не выполнилось не одно IF то делать это <команда 1> <команда 2> ... <команда n> end теперь идем к циклам: циклы сделаны для множественного повторения кода код в циклах выполняется пока он не закончится или прервется циклы имеют 3 формы но мы рассмотрим только 2 первый цикл это while i = 0 while i ~= 10 do i = i + 1--увеличиваем и на единицу end на русском это будет как: i = 0 да тех пор пока i не равно 10 делать i = i + 1--увеличиваем и на единицу -- и когда i станет 10 цикл прервется конец синтаксис : while <условие> do <команда 1> <команда 2> ... <команда n> end далее цикл for ,он сложнее цикл for имеет 2 типа но мы рассмотрим первый for i = 1,10,1 do print(i) end на русском это будет: для i зададим 1 b и до тех пор пока и не равен 10 увеличиваем i на 1 делать
конец синтаксис: for i(переменная счётчик) = 1(стартовое значение),10(лимит счётчика),1(значение на которое) do <команда 1> <команда 2> ... <команда n> end теперь оператор прерывания цикла break оператор break прерывает цикл в любой момент пример: i = 0 while i < 10 do if i > 5 then break end end в этом случае цикл прервется когда i будет больше пяти а не пока i не достигнет значения 10 идем дальше : function a() return 1 end
знаете вы или нет но оператор return возвращает значение и прерывает функцию в коде(который сверху) мы создали функцию которая возвращает 1 пример использования: i = a() в i будет записан 1 функция равняется тому значению которое она возвращает. function a() return j + 1 end i = a() в этом случае мы получим ошибку потому что функция пытается вернуть значение несуществующей переменной j(nil) с значение больше на один в чем ошибка? не в том что мы возвращаем несуществующею переменную а в том что мы пытаемся прибавить к ней 1 с значением nil можно делать только 2 операции "==" и "~=" равно и не равно
function a() return j end i = a() а этот код не выдаст ошибку ,он просто ничего не сделает потому что j = nil мы создаем i и даем ему значение nil(абсолютно ничего) в Lua если переменная не существует то она имеет значение nil то есть чтобы удалить переменную надо присвоить ей nil на этом все далее будет урок по таблицам и ветвлениям спасибо за внимание
|
Категория: Уроки LUA для Новичков | Добавил: skorp337 (19.03.2013)
|
Просмотров: 1314
| Рейтинг: 0.0/0 |
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]
|