36 lines
2.9 KiB
Plaintext
36 lines
2.9 KiB
Plaintext
\b;Упражнение
|
||
Это упражнение очень напоминает предыдущее. Теперь у нас есть три \l;титановых слитка\u object\titan; которые вы должны доставить на 3 финишные площадки. Вот координаты финишной площадки:
|
||
\c;
|
||
x=10, y=-60
|
||
x=10, y=-65
|
||
x=10, y=-70
|
||
\n;
|
||
\b;Общий принцип
|
||
Повторить 3 раза:
|
||
o Искать самый отдаленный титановый слиток с помощью \c;\l;radar\u cbot\radar;\n;.
|
||
o Взять его с помощью \c;\l;grab\u cbot\grab;\n;.
|
||
o Перейти к одной из площаок \c;\l;goto\u cbot\goto;\n;.
|
||
o Бросить титин \c;\l;drop\u cbot\drop;\n;.
|
||
|
||
Если вы ищите ближайший титановый слиток, радар укажет вам на тот, который вы уже нашли и принесли на площадку. Поэтому вы должны искать титановый слиток, находящийся от вас как можно дальше.
|
||
|
||
\b;Программа
|
||
Используйте цикл \c;\l;for\u cbot\for;\n;, чтобы повторить все необходимые для поиска титанового слитка инструкции 3 раза. Внутри цикла, чтобы найти самый отдаленный титановый слиток, используйте инструкцию \c;\l;radar\u cbot\radar;(Titanium, 0, 360, 0, 1000, -1);\n;. Последнее значение \c;-1\n; означает то, что вместо поиска ближайшего предмета, радар будет выдавать предмет, находящийся на самом большом расстоянии от бота.
|
||
\c;
|
||
\s;object metal;
|
||
\s;metal = radar(Titanium, 0, 360, 0, 1000, -1);
|
||
\s;if ( metal == null ) return;
|
||
\s;goto(metal.position);
|
||
\n;
|
||
Переменная \c;metal\n; относится к типу \c;\l;object\u cbot\object;\n;. Чтобы узнать позицию объекта, описанного переменной, вы должны написать \c;metal.position\n;.
|
||
|
||
Координата \c;x\n; 3-х площадок равна 10. Координата \c;y\n; соответственно -60, -65 и -70. Самый простой способ получить координаты позиции заключается в использовании значения \c;i\n; цикла \c;for\n; , которая последовательно будет принимать значения 0, 1 и 2:
|
||
\c;
|
||
\s;dest.x = 10;
|
||
\s;dest.y = -60-5*i;
|
||
\n;
|
||
Теперь вы сами должны закончить программу.
|
||
|
||
\t;См. также
|
||
\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
|