colobot-data/help/cbot/R/if.txt

41 lines
2.6 KiB
Plaintext
Raw Normal View History

\b;Инструкции \c;if\n; и \c;else\n;
Инструкция \c;if() {}\n; выполняет набор инструкций только если выполняется определенное условие. Напишите условие в скобках \c;()\n;, а инструкции в квадратных скобках \c;{}\n;.
\b;Основное использование
Вот вам конкретный пример: Бот станет стрелять, только если цель находится ближе чем в 40 метрах:
\c;
\s; item = \l;radar\u cbot\radar;(AlienAnt);
\s; if (\l;distance\u cbot\dist;(position, item.position) < 40)
\s; {
\s; fire(1);
\s; }
\n;
Вы также можете проверить, существует ли обьект вообще. Если инструкция \c;\l;radar\u cbot\radar;();\n; не находит требуемый обьект, она возвращает значение \c;null\n;. Поэтому вы можете проверить наличие обьекта с помощью условия \c;(item == null)\n;, или с помощью \c;(item != null)\n;. Два знака равенства \c;==\n; проверяют равность, знак восклицания, за которым идет знак равенства \c;!=\n; проверяют неравенство. Вот тестовая программа, которая отправит бот на перезарядку \l;энергобатареи\u object\power; только в случае наличия \l;электростанции\u object\station;:
\c;
\s; item = \l;radar\u cbot\radar;(PowerStation);
\s; if (item != null)
\s; {
\s; \l;goto\u cbot\goto;(item.position);
\s; \l;wait\u cbot\wait;(5);
\s; }
\n;
\b;Для специалистов
Синтаксис:
\s;\c;if ( условие )
\s;{
\s; \n;Инструкции A ...\c;
\s;}
\s;else
\s;{
\s; \n;Инструкции B ...\c;
\s;}
\n;
Данной условной структурой вы можете выполнить \l;блок\u cbot\bloc; A или \l;блок\u cbot\bloc; B в зависимости от \l;условия\u cbot\cond;. Если условие выполняется, блок A выполняется. Если условие не выполняется, то выполняется блок B.
Part \c;else { }\n; is not compulsory.
\t;Внимание
Не следует ставить двоеточие \l;semicolon\u cbot\term; в конце строки \c;if ( )\n;.
\t;См. также
\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.