32 lines
3.2 KiB
Plaintext
32 lines
3.2 KiB
Plaintext
\b;Упражнение
|
||
Несколько \l;постов обмена информацией\u object\exchange; стоят посреди \l;минного\u object\mine; поля. Когда бот подходит к посту обмена на достаточно близкое расстояние, он может прочитать информацию, которая там содержиться. Каждому пункту обмена присущ угол поворота, на который нужно повернуться, чтобы перейти к следующему посту обмена, не наступив на \l;мину\u object\mine;.
|
||
Посты обмена расположены на расстоянии 20 метров друг от друга.
|
||
|
||
\b;Общий принцип
|
||
Повторять 5 раз :
|
||
o Перейти на 20 метров вперед.
|
||
o Прочитать информацию о месте следующего \l;поста обмена информации\u object\exchange;.
|
||
o Произвести необходимый поворот.
|
||
|
||
\image tinfo1 8 8;
|
||
Чтобы повторять шаги, приведенные выше, используйте цикл \c;\l;for\u cbot\for;\n;, как мы делали это раньше.
|
||
\s;\c; for ( int i=0 ; i<5 ; i=i+1 )
|
||
\n;
|
||
Переместитесь вперед с помощью инструкции \c;move(20);\n;.
|
||
|
||
Используйте инструкцию \c;\l;receive\u cbot\receive;("Направление");\n; чтобы прочитать информацию, которая содержится в \l;посте обмена\u object\exchange;. Это возможно сделать только тогда, когда бот подойтет к нему на достаточно близкое расстояние.
|
||
Вам будет нужна \l;переменная\u cbot\var;, которая будет задавать значение, полученное на посту обмена. Давайте назовем ее \c;dir\n;; вы должны задать ее следующей строкой:
|
||
\s;\c; float dir;
|
||
\n;
|
||
Затем на обменном посту необходимо получить угол поворота, и включить его в значение переменной:
|
||
\s;\c; dir = receive(...);
|
||
\n;
|
||
После этого вы можете сделать поворот:
|
||
\s;\c; turn(dir);
|
||
\n;
|
||
\b;Комментарий
|
||
Вы можете щелкнуть на \l;посту обмена информацией\u object\exchange;, чтобы прочитать информацию, которую он содержит. В этом упражнении каждый пункт обмена содержит только одно значение, которое называется \c;"Напрвление"\n;, но он может содержать и до 10 различных значений, в чем вы убедитесь в некоторых последующих упражнениях.
|
||
|
||
\t;См. также
|
||
\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
|