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