KlasterK

Циклы

В теме 5 сообщений

Привет, форумчане. Сейчас я расскажу вам про циклы в языке Pawn.

Цикл while работает таким образом: сначала проверяет условие, потом делает итерацию(код, который мы вписали). Когда условие неверно, цикл оканчивается.

while(Условие)
{
    Действия;
}

while(Условие)
    Действие;

Цикл do работает таким образом: сначала происходит итерация, потом проверяется условие.

do
{
    Действия;
}
while(Условие);

do Действие
while(Условие);

Цикл for работает таким образом: в самом начале он выполняет действие(только один раз), указанное в первом аргументе, проверяет условие, указанное во втором аргументе, делает итерацию, а в конце выполняет действие, указанное в третьем аргументе.

for(Первичное действие; Условие; Конечное действие)
{
    Действия;
}

for(Первичное действие; Условие; Конечное действие)
    Действие;

Если указать в качестве условия true, то цикл будет выполняться вечно. Но этого не стоит делать, так как в этом случае сервер полностью заблокируется и не сможет обрабатывать запросы игроков. Вместо этого лучше использовать таймеры.

 

Мы можем управлять циклами при помощи двух ключей: break и continue. Также можно манипулировать циклом при помощи изменения условия.

Ключ break позволяет остановить цикл. Ключ continue позволяет пропустить итерацию.

 

В спойлере ниже довольно большой пример, думаю суть вы поймёте по комментариям. 

  открыть спойлер

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@KlasterK Эта тема для тех кто даже не скачал pawnbook и не учил его, вот новичкам подойдёт. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@skynet99, и не надо скачивать Pawn Book (а тем более и учить): отвратительная книга, которая только вводит в заблуждение большим числом неточностей и ошибок. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Cawfee В PawnBook действительно много недостатков, в разделе с инклудами многие из описаний нативов перепутаны, последняя версия учебника только для 0.3d, но он может служить справочником, если фильтровать содержимое. Также автор предлагает новичкам ReturnName, что не есть хорошо. Но других полноценных учебников, к сожалению нет, либо я плохо гуглю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В большинстве случаев неактуально и следует использовать Foreach. Если даже не во всех. Тем кто пишет мод с нуля или какие то отдельные системы. Рекомендовал бы использовать уже:

https://github.com/Open-GTO/foreach

Быстрей, удобней. Экономичней в плане ресурсов.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу