000105. Блочные конструкции. Циклы
Блочные конструкции. Циклы|Нач инаем седьмой урок по скриптингу GTA 4. Циклы мы уже проходили с Вами в обучении Sanny Builder, поэтому кратко пробежимся по основным отличиям.|wmysterio|wmysterio||||Начнём с самого противного для новичков цикла - while. Суть цикла - многоразовое повторение кода внутри блока, кока выполняется условие. Единственным отличием от СанниБилдер в том, что количество условий может быть любое. Синтаксис написания следующий:
cs
int a = 0;
while (100 > a) {
a++;
}
Второй вид цикла - do...while. Так называемый цикл с постусловием. Сначала делается код в блоке, а затем проверяется условие. Синтаксис написания таков:
c# | Аналог в Sanny Builder |
---|---|
``` cs int a = 0; do { a++; } while (100 > a); </td><td> 0@ = 0 repeat 0@ += 1 wait 0 until 0@ > 99 </td></tr> </tbody></table> Если для продолжения цикла **repeat** было нужно, что бы условие было ложным, то **do...while** наоборот - должно возвращать истину. Рассмотрим ещё один вид циклов - **for**. Не знаю почему, но он является самый любимым циклом для начинающих программистов ( как показала статистика ). Синтаксис написания таков: <table class="table table-bordered"><tbody> <tr><th>c#</th><th>Аналог в Sanny Builder</th></tr> <tr><td> cs int a, b = 0; for (a = 0; a < 100; a++) { b += 2; } </td><td> 1@ = 0 for 0@ = 0 to 100 step 1 1@ += 2 end </td></tr> </tbody></table> Особых отличий нет, так что запомнить синтаксис не составит труда. Есть так-же ещё один полезный цикл - **foreach**, аналога которо го в SannyBuilder нет. Переводится как "для каждого". Этот цикл, как правило, используют для обхода элементов коллекций. О них я расскажу когда придёт время, там же и более детально изучим этот цикл. Инструкции **break** и **continue** так же есть в c#. Как вы помните ( или тем, кто не помнит ), инструкция **break** немедленно прерывает цикл, а **continue** начинает цикл сначала. Простой пример: <table class="table table-bordered"><tbody> <tr><th>c#</th><th>Аналог в Sanny Builder</th></tr> <tr><td> cs nt b = 0; for (int a = 0; a < 100; a++) { b += 2; if ( b > 17 ) { break; } else { continue; } } </td><td> 1@ = 0 for 0@ = 0 to 100 step 1 1@ += 2 if 1@ > 17 then break else continue end end </td></tr> </tbody></table> На этом всё, тестируйте, экспериментируйте и задавайте вопросы!|554|1|0||blochnye_konstrukcii_cikly|1511983477 | |
Last modified 1yr ago