colobot-data/help/R/tsniff.txt

44 lines
2.8 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\botsr; в поисках подходящего места для постройки деррика. Когда бот простукивает землю и находит подходящее для деррика место, он обозначит это место красным крестом.
\b;Описание
Зона между барьерами имеет площадь 25 квадратных метров. Наиболее эффективно будет проверять каждые 5 метров.
\image sniff1 12 12;
Лучший способ достичь этого - вложить два цикла \c;\l;for\u cbot\for;\n; один в другой:
\c;
\s;for ( int y=0 ; y<6 ; y=y+1 )
\s;{
\s; for ( int x=0 ; x<5 ; x=x+1 )
\s; {
\s; \n;зондирование почвы\c;
\s; \n;перейти на 5 метров вперед\c;
\s; }
\s; \n;зондирование почвы\c;
\s; \n;четверть оборота влево\c;
\s; \n;перейти на 5 метров вперед\c;
\s; \n;четверть оборота вправо\c;
\s;}
\n;
Эта программа хорошо работает только в начале. После первой линии бот поворачивает точно налево и исследует второю линию. Но после второй линии он должен свернуть вправо!
Вы заметите, что если \c;y\n; четное, бот должен повернуть налево, а если \c;y\n; нечетное, бот должен повернуть направо.
\l;Выражение\u cbot\expr; \c;y%2\n; возвращает остаток от деления \c;y\n; на \c;2\n;. например, если \c;y=3\n;, выражение возвращает \c;1\n;.
Проверьте \c;\l;if\u cbot\if; { }\n; может следовать за \c;else { }\n;. Если проверка истинная, будет выполнен первый \l;блок\u cbot\bloc; \c;{ }\n;. Иначе будет выполнен второй блок \c;{ }\n;.
\c;
\s;if ( y%2 == 0 )
\s;{
\s; y \n;четное\c;
\s;}
\s;else
\s;{
\s; y \n;нечетное\c;
\s;}
\n;
Теперь вы должны сами закончить программу.
\b;Комментарий
Используйте инструкцию \c;\l;sniff\u cbot\sniff;( )\n; чтобы простукать почву, и \c;\l;move\u cbot\move;( )\n; и \c;\l;turn\u cbot\turn;( )\n; чтобы перемещать бота.
\t;См. также
\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.