colobot-data/help/R/texch2.txt

37 lines
3.4 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;Упражнение
В этом упражнении \l;посты обмена информацией\u object\exchange; по всему пути содержат направление к следующему посту и расстояние к нему. И вы не знаете, сколько постов обмена вы можете встретить до того, как достигните цели.
\b;Общий принцип
Повторять всегда:
o Получите направление на \l;посту обмена\u object\exchange;.
o Получите расстояние на \l;посту обмена\u object\exchange;.
o Если вы не можете получить никакой информации, остановите программу.
o Произведите поворот.
o Следуйте прямо к следующему посту.
Чтобы повторять всегда, используйте цикл \c;\l;while\u cbot\while; (true)\n;. Инструкция в скобках \c;{ }\n; будет повторяться снова и снова, или пока не будет выполнена функция \c;\l;break\u cbot\break;\n;.
\s;\c; while ( true )
\n;
В этот раз вам будут необходимы 2 \l;переменные\u cbot\var;, одна для угла поворота, вторая для расстояния. Например, \c;dir\n; и \c;len\n; :
\s;\c; float dir, len;
\n;
После этого вы можете получить информацию:
\s;\c; dir = receive("Направление");
\s;\c; len = receive("Длина");
\n;
Переменная \l;type\u cbot\type; \c;\l;float\u cbot\float;\n; может принимать определенное значение, называемое \c;\l;nan\u cbot\nan;\n;. Оно означает, что переменная не содержит чисел (Not A Number).
Когда поблизости нет \l;обменных пунктов\u object\exchange; потому что бот достиг цели или потому что он пошел в неправильном направлении, две переменные \c;dir\n; и \c;len\n; содержат это значение. Вы можете проверить это с помощью инструкции \c;\l;if\u cbot\if;\n;, и остановить программу, если в этом возникает необходимость, с помощью инструкции \c;\l;break\u cbot\break;\n;:
\s;\c; if ( dir == nan ) break;
\n;
Если получение информации на \l;обменном посту\u object\exchange; прошло успешно, произведите поворот:
\s;\c; turn(dir);
\n;
И идите вперед:
\s;\c; move(len);
\n;
\b;Комментарий
Вы можете щелкнуть на \l;посту обмена информации\u object\exchange;, чтобы прочитать ту информацию, которую он содержит. В этом упражнении каждый пункт обмена содержит две переменные, которые называются \c;"Направление"\n; и \c;"Длина"\n;.
\t;См. также
\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.