59 lines
3.9 KiB
Plaintext
59 lines
3.9 KiB
Plaintext
\b;Упражнение
|
||
Преобразуйте некоторое количество \l;титановой руды\u object\titanore; в \l;титановые слитки\u object\titan;, после этого сбросьте 2 титановых слитка на платформы, чьи координаты:
|
||
\c;
|
||
x=10, y=-60
|
||
x=10, y=-65
|
||
\n;
|
||
\image derrick 8 8;
|
||
\l;Деррики\u object\derrick; добывают титановую руду из-под земли; вы просто должны их подобрать.
|
||
|
||
\image convert 8 8;
|
||
\l;Преобразователь\u object\convert; перерабатывает титановую руду в слитки титана. Просто сбросьте титановую руду на платформу, отойдите назад и подождите, пока она не будет переработана.
|
||
|
||
\b;Общий принцип
|
||
Повторить два раза :
|
||
o Подождать пока не появится некоторое количество титановой руды.
|
||
o Перейти к титановой руде.
|
||
o Взять ее.
|
||
o Подойти к преобразователю.
|
||
o Сбросить титановую руду.
|
||
o Отойти назад на 2,5 метра.
|
||
o Подождать пока не появится титановый слиток.
|
||
o Взять титановый слиток.
|
||
o Подойти к платформе.
|
||
o Сбросить титановый слиток.
|
||
|
||
\b;Программа
|
||
Цикл \c;\l;for\u cbot\for;\n; позволяет вам 2 раза повторить все инструкции.
|
||
Титановая руда не становится доступной моментально. Вы должны подождать некоторое время, пока деррик ее добудет. Используйте цикл \c;\l;do\u cbot\do;\n; как приведено ниже:
|
||
\c;
|
||
\s;do
|
||
\s;{
|
||
\s; obj = radar(TitaniumOre);
|
||
\s;}
|
||
\s;while ( obj == null );
|
||
\n;
|
||
После цикла (когда радар найдет одну единицу титановой руды), вы можете перейти к тому месту, где она лежит \c;obj.position\n; с помощью инструкции \c;\l;goto\u cbot\goto;\n;. Используйте инструкцию \c;\l;grab\u cbot\grab;\n;, чтобы взять титановую руду.
|
||
Используйте следующую инструкцию, чтобы найти преобразователь:
|
||
\c;
|
||
\s;obj = radar(Converter);
|
||
\n;
|
||
После того, как вы сбросите руду на преобразователь, отойдите назад на 2.5 метра: \c;\l;move\u cbot\move;(-2.5)\n;.
|
||
Второй цикл \c;do\n; позволяет вам подождать, пока титановый слиток станет доступным. Вы должны ограничить дальность видимости радара 5 метрами, в противном случае вы немедленно найдете титановый силток, который только что бросили на платформу:
|
||
\c;
|
||
\s;do
|
||
\s;{
|
||
\s; obj = radar(Titanium, 0, 360, 0, 5);
|
||
\s;}
|
||
\s;while ( obj == null );
|
||
\n;
|
||
Координаты \c;x\n; двух платформ равны 10. Координаты \c;y\n; соответственно -60 и -65. Самый эффективный способ получения координат платформ - это использовать значение \c;i\n; цикла \c;for\n;, которое последовательно становится 0 и 1:
|
||
\c;
|
||
\s;dest.x = 10;
|
||
\s;dest.y = -60-5*i;
|
||
\n;
|
||
Теперь вы должны сами закончить написание программы...
|
||
|
||
\t;См. также
|
||
\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.
|