62 lines
2.5 KiB
Plaintext
62 lines
2.5 KiB
Plaintext
\b;Programs dispatched by Houston
|
|
As you will need lots of titanium for this mission, we have made the program \c;CollectTitanium\n; still more efficient. It gathers a whole series of titanium cubes on a free surface, so you can let it work on its own. It also recharges itself at the \l;power station\u object\station; if necessary.
|
|
\c;
|
|
\s;extern void object::CollectTitanium3()
|
|
\s;{
|
|
\s; // 1) Variable definition.
|
|
\s; \l;object\u cbot\type; item; // info. about objects
|
|
\s;
|
|
\s; \l;while\u cbot\while; (true) // repeat forever
|
|
\s; {
|
|
\s;
|
|
\s; // 2) Go to the titanium ore and grab it.
|
|
\s; item = \l;radar\u cbot\radar;(\l;TitaniumOre\u cbot\category;);// look for titanium
|
|
\s; \l;goto\u cbot\goto;(item.position); // go to the position
|
|
\s; \l;grab\u cbot\grab;(); // grab the titanium
|
|
\s;
|
|
\s; // 3) Go to the converter and drop it.
|
|
\s; item = \l;radar\u cbot\radar;(\l;Converter\u cbot\category;); // look for converter
|
|
\s; \l;goto\u cbot\goto;(item.position); // go to the position
|
|
\s; \l;drop\u cbot\drop;(); // drop the titanium
|
|
\s; \l;move\u cbot\move;(-2.5); // step back 2.5 m
|
|
\s;
|
|
\s; // 4) Wait until titanium converted and grab it
|
|
\s; \l;do\u cbot\do;
|
|
\s; {
|
|
\s; \l;wait\u cbot\wait;(1); // wait for cube
|
|
\s; item = \l;radar\u cbot\radar;(\l;Titanium\u cbot\category;, 0, 45, 0, 5);
|
|
\s; }
|
|
\s; \l;while\u cbot\while; ( item == null );
|
|
\s; \l;goto\u cbot\goto;(item.position);
|
|
\s; \l;grab\u cbot\grab;(); // grab it
|
|
\s;
|
|
\s; // 5) Drop on a free space
|
|
\s; \l;goto\u cbot\goto;(\l;space\u cbot\space;(position)); // go to free space
|
|
\s; \l;drop\u cbot\drop;(); // drop titanium
|
|
\s;
|
|
\s; // 6) If power cell half empty, recharges.
|
|
\s; \l;if\u cbot\if; ( energyCell.energyLevel < 0.5 )
|
|
\s; { // if so:
|
|
\s; item = \l;radar\u cbot\radar;(\l;PowerStation\u cbot\category;);
|
|
\s; \l;if\u cbot\if; ( item != null ) // station found ?
|
|
\s; {
|
|
\s; \l;goto\u cbot\goto;(item.position); // go there
|
|
\s; \l;while\u cbot\while; ( energyCell.energyLevel < 1 )
|
|
\s; { // until recharged:
|
|
\s; \l;wait\u cbot\wait;(1); // wait
|
|
\s; }
|
|
\s; }
|
|
\s; }
|
|
\s; }
|
|
\s;}
|
|
\n;
|
|
\b;Archives
|
|
Index of the programs dispatched in former missions:
|
|
|
|
o \c;\l;KillAnt1\u mlsaari2;\n;
|
|
o \c;\l;CollectTitanium2\u mlcrys2;\n;
|
|
o \c;\l;CollectTitanium1\u mlcrys1;\n;
|
|
o \c;\l;Recharge2\u mltropi3;\n;
|
|
o \c;\l;Recharge1\u mllune4;\n;
|
|
o \c;\l;SwitchCell1\u mllune1;\n;
|