\b;Задание
Возьмите кусок \l;титановой руды\u object\titanore;, точное размещение которого неизвестно. Чтобы его найти, используйте радар бота. Отнесите титановую руду к \l;преобразователю\u object\convert;.

\t;Программа
Как вы уже должно быть заметили, программы, написанные в предыдущих упражнениях, были полностью "слепыми": если бы титановая руда, батарея или пауки находились бы в другом месте, бот не смог бы найти их.

Радар представляет собой "глаза" бота. С помощью радара бот может замечать вокруг себя различные объекты. Например, инструкция \c;\l;radar\u cbot\radar;(TitaniumOre);\n; возвратит информацию о ближайшем куске \l;титановой руды\u object\titanore;. Тем не менее, нам необходимо где-нибудь "сохранить" информацию, возвращенную инструкцией \c;\l;radar\u cbot\radar;(TitaniumOre);\n;. Для этой задачи нам будет нужна \l;переменная\u cbot\var;.

\l;Переменная\u cbot\var; представляет собой как бы маленький ящик с названием, в который мы можем положить какую-то информацию, взять ее оттуда, изменить ее, и т.п. Перед тем, как вы сможете использовать переменную, вы должны задать ее. Сначала вы должны указать \l;тип\u cbot\type; переменной, для этого \c;объекта\n;. Переменная этого типа может содержать всю информацию, описывающую объект (например, титановую руду, паука, муравья, бота, батарею и т.п.). После этого вы должны указать имя, которое хотите присвоить этой переменной, например \c;item\n;. Если мы сложим все это вместе, то получим следующую строку:
\c;
\s;\l;object\u cbot\type; item;
\n;
После этого мы должны ввести информацию, возвращенную инструкцией \c;\l;radar\u cbot\radar;(TitaniumOre)\n;,  в эту переменную:
\c;
\s;item = \l;radar\u cbot\radar;(TitaniumOre);
\n;
Переменная \c;item\n; содержит различные виды информации: позицию, ориентацию, высоту и т.п. Чтобы узнать размещение куска титановой руды, напишите \c;item.position\n;. После этого мы используем инструкцию \c;goto();\n; чтобы переместить бота в эту позицию. Вот строка, собирающая все это вместе:
\c;
\s;\l;goto\u cbot\goto;(item.position);
\n;
Если мы "переведем" все на русский язык, это будет означать: отправиться к позиции объекта, описанной переменной \c;item\n;.

После этого вы можете взять то, что лежит в этом месте с помощью инструкции \c;\l;grab\u cbot\grab;();\n;.

Если мы соберем все это вместе, то получим следующую программу:
\c;
\s;extern void object::Titanium2( )
\s;{
\s;	
\s;	\l;object\u cbot\type; item;
\s;	item = \l;radar\u cbot\radar;(TitaniumOre);
\s;	\l;goto\u cbot\goto;(item.position);
\s;	grab();
\s;	
\s;}
\n;
После этого вы должны найти \l;преобразователь\u cbot\convert; и поместить информацию о преобразователе в переменной \c;item\n;:
\c;
\s;item = \l;radar\u cbot\radar;(Converter);
\n;
Подойдите к преобразователю с помощью все той же инструкции \c;\l;goto\u cbot\goto;(item.position);\n; , как было сделано выше, сбросьте титан и отойдите назад. Все остальное поручите сделать преобразователю.

Если вы хотите узнать больше об "именах" различных объектов в языке программирования, обратитесь пожалуйста к \l;тексту о категориях\u cbot\category;.

\t;Комментарий
\l;Переменная\u cbot\var; должна быть задана только один раз в начале программы! Потом вы можете использовать ее сколько угодно.

Чтобы избежать перепечатывания инструкций, о которых говорилось выше, вы можете выбрать их с помощью мыши, и копировать-вставить \button 61; их в свою программу.

\t;См. также
\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
