colobot-data/help/R/tremova2.txt

36 lines
2.9 KiB
Plaintext
Raw Normal View History

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