Профиль
Информация Управление
Здравствуйте, уважаемый посетитель. К сожалению, Вы не были распознаны форумом, как зарегистрированный пользователь. Для полноценного использования возможностей нашего форума вам необходимо зарегистрироваться. Если вы уже зарегистрированы на форуме, то вам необходимо пройти авторизацию, используя Ваш логин и пароль. Зарегистрированные пользователи получают возможность возможность общения на нашем форуме.


[Новые сообщения · Правила форума · RSS ]
  • Страница 1 из 1
  • 1
[Tutorial] Циклы
Folk Дата: Пятница, 25.03.2011, 00:56 | Сообщение # 1
Лейтенант
Группа: Проверенные
Зарегистрирован: 23.02.2011
Сообщений: 44
Репутация: 2
Статус: Offline
Сперва начнем с понятия, что же такое цикл?
Цикл — разновидность управляющей конструкции в высокоуровневых языках программирования, предназначенная для организации многократного исполнения набора инструкций.

В pawno существует 3 вида циклов:

1. while
2. for
3. do..while

Цикл while:

Code
new variablename;//Объявляем переменную
while(variable < 500)//Пока переменная меньше 500 будет выполнятся действие
{
Интрукции//Тут то, что будет происходить пока условие ложно
}

Пример:
Code
new int;
while(int < MAX_PLAYERS)
{
if(IsPlayerConnect(playerid), int++)
}

Цикл for:

Цикл for проще, и я вам советую использовать его, нежели while. Его преимущество в том, что в нем сразу объявляется переменная, ставится условие, и действие которое будет происходить после каждого условия.

Code
for(объявляем переменную; условие; действие после окончания условия)
{
Инструкции
}

Пример:
Code
for(new int; int < MAX_PLAYERS; int++)
{
if(IsPlayerConnect(playerid))
}

Как вы видите его гораздо удобнее использовать чем while.

Цикл do...while:

Цикл do...while это можно сказать перевернутый цикл while. Его отличие в том, что сперва выполняются инструкции, а потом уже проверяется условие

Code
do
{
Инструкции
}
while(условие)

Пример:
Code
new i;
do
{
SendClientMessageToAll(COLOR_GREEN, "Все для вас, включая нас", i++);
}
while(i < 3)

Теперь давайте обсудим вспомогательный операторы:

Их существует 2 типа:

1.break
2.continue


Оператор break:

Этот оператор прерывает цикл, вне зависимости закончился он или нет.
Пример:

Code
for(new ac; ac < MAX_PLAYERS; ac++)
{
if(GetPlayerMoney == 999999999)
{
break;//Если у кого-либо из игроков было 99999999 денег то мы прерываем цикл
}
}

Оператор continue:

Оператор continue переходит к следующей интерации.
Если вам непонятно что такое итерация, то проще сказать это следующий шаг цикла.

Пример:

Code
for(new amc; amc < MAX_PLAYERS; amc++)
{
if(GetPlayerName == Folk)
{
continue;//Получается меня цикл обойдет и будет проверять других игроков
}
}

Я вот все думал вставить сюда switch или нет, но все таки надумал, поставлю, это тоже своеобразный цикл.

switch:

switch используется для выполнения многократных проверок, вместо else if.

Code
switch(переменная)
{
case значение:
{
Интрукция
}
case значение:
{
Интрукция
}
case значение:
{
Интрукция
}
}

Пример:
Code
new players[MAX_PLAYERS];
switch(players)
{
case 50:
{
SendClientMessageToAll(COLOR_BLUE, "На сервере 50 слотов");
}
case 100:
{
SendClientMessageToAll(COLOR_BLUE, "На сервере 100 слотов");
}
case 150:
{
SendClientMessageToAll(COLOR_BLUE, "На сервере 150 слотов");
}
default://Если переменная не равна ни одному из значений
{
SendClientMessageToAll(COLOR_RED, "Я вам что математик? Сами считайте");
}
}


Автор: Folk

Ну вот в общем то и все, если есть вопросы - задавайте, замечание - сообщайте

 
  • Страница 1 из 1
  • 1
Поиск:

Сайт управляется системой uCoz