Может мне объяснитить кто неть просто для чего цикли , как ими пользоваться где они приминяются , пожалуйсто !! Я читал раза 2 всеравно не разобрался , надеюсь на вашу помощь , с меня + Icq - 555663744 Skype - ilyxa-man1
Массив - это набор переменных, обращение к которым проходит через индексы. Чтобы не создавать кучу переменных вроде
Code
a,a1,a2,a3,a4,a5
, можно просто объявить массив
Code
new a[6]
. Таким образом мы объявили сразу 6 разных переменных:
Code
a[0],a[1],a[2],a[3],a[4],a[5]
. Это гораздо проще, чем объявлять каждую переменную отдельно, не так ли? Обращаться к таким переменным ещё проще, особенно - используя цикл. Важно помнить, что массив содержит однотипные данные. Если это boolean-массив, то все ячейки логические, еслиFloat - все ячейки будут содержать переменную с плавающей точкой и т.д. Также массивы (обычно разнотипные. объединить однотипные можно используя двухмерность) можно объединять используя структуры.
Цикл - это кусок кода, который исполняется некоторое число раз (в зависимости от параметров и типа). Основные типы циклов - цикл с предусловием и цикл со счётчиком. Цикл с предусловием выглядит следующим образом:
Code
while (условие, необходимое для выполнения цикла) { тело цикла }
Такой цикл будет выполняться до тех пор, пока выполняется условие. Например:
Code
new count; new string[128]; while(IsPlayerInRangeOfPoint(playerid, 7.0, 2695.6880, -1704.6300, 11.8438)//будет выполняться, пока игрок в пределах заданной точки { count++; SendClientMessage(playerid, 0x0000ff, "Вы находитесь у входа в стадион"); format(string, 128, "Цикл выполнился %d раз", count); SendClientMessage(playerid, 0xffffff, string); }
Цикл со счётчиком имеет вид for new название переменной=начальное значение; название переменной<конечное значение; шаг;//цикл будет выполняться с заданным шагом для заданной переменной от начального до конечного значения.
Code
{ тело цикла }
Такой цикл очень удобен при общении с массивами:
Code
new bool:player[MAX_PLAYERS]; for i=0; i<MAX_PLAYERS; i++; //цикл выполняется до тех пор, пока i меньше MAX_PLAYERS, после каждого выполнения переменная i увеличивается на 1. { player[i]=IsPlayerConnected(i);// в i-ую ячейку массива попадает 1, если игрок под i-ым ID на сервере, если игрок не на сервере, то в ячейке будет 0. }
Всё писалось с учётом наличия элементарных понятий (переменная, тип переменной).