Условные конструкции позволяют Вам проверить, удовлетворяют ли данным условиям выражения или нет и в зависимости от результата, выполняет соответствующий код. Для того чтобы работать с условными конструкциями, сначала нужно знать операторы сравнения или условные операторы, с помощью которых ставится условие для определенной конструкции. В приведенной ниже таблице приведены все условные операторы и их применение.
&& |
И |
if(a && b) |
|| |
ИЛИ |
if(a || b) |
! |
НЕ |
if(!a) |
== |
РАВНО |
if(a==b) |
!= |
НЕ РАВНО |
if(a!=b) |
>= |
БОЛЬШЕ ИЛИ РАВНО |
if(a>=b) |
<= |
МЕНЬШЕ ИЛИ РАВНО |
if(a<=b) |
> |
БОЛЬШЕ |
if(a>b) |
< |
МЕНЬШЕ |
if(a<b) |
|
НЕ ИЛИ |
if(!(Left || Right)) |
|
НЕ И |
if(!(Left && Right)) |
|
ИЛИ ИЛИ |
if((Left && !Right)||(!Left && Right)) |
|
НЕ ИЛИ ИЛИ |
if(!((Left && !Right)||(!Left && Right))) |
If – это условный оператор, в скобках перед оператором пишется условие. После скобок точка с запятой не ставится. В фигурных скобках пишется код который выполнится, если условие истинно. Если условие ложно, код не выполнится.
Else – это также условный оператор, но он выполняет свои функции, только в том случае, если условие в if ложно.
То есть, оператор if можно назвать как оператор «если», а еlse как оператор «иначе».
Давайте поставим простейшее условие. У нас есть две заранее проинициализированных переменных:
new a = 5;
new b = 25;
Поставим такое условие, если a < b, в консоль сервера выведется текст: «a меньше b». Если же значение переменной a не меньше b, в консоль сервера выведется текст: «a больше b».
if(a < b)
{
print(“a меньше b”);
}
else
{
print(“a больше b”);
}
В данном примере выполнится кол в if, так как 5 меньше 25. Но что если a равно b. Тогда мы поступим следующим образом: (между 4-5 строкой) вставим, операторы else if и условие, в общем, так как показано на примере ниже:
if(a < b)
{
print(“a меньше b”);
}
else if (a == b)
{
print(“a равно b”);
}
else
{
print(“a больше b”);
}
Для некоторых случаев совсем необязателен оператор else, например, в командах чата. Например, случай такой, нам нужно, чтобы команда не выполнялась до тех пор, пока игрок не авторизуется на сервере. Мы пишем условие внутри команды, при котором команда не выполнится, и ставим в конце кода return 1. В приведенном ниже примере Return завершает работу функции OnPlayerCommandText и не дает ей выполниться до конца. Под данным условием уже можно будет писать код команды.
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/mycommand", cmdtext, true, 10) == 0)
{
if (pLogged[playerid] == false)
{
SendClientMessage(playerid,0xAA3333AA,”Вы не авторизованы на сервере”);
return 1; // Если это условие истинно, функция прекращает работу на этом месте
}
// Код команды
return 1;
}
return 0;
}
|