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

41 lines
2.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

\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;.