Il faut convertir du \l;minerai de titanium\u object\titanore; en \l;titanium\u object\titan;, puis dΘposer 2 cubes de titanium sur les plates-formes dont les coordonnΘes sont :
\c;
x=10, y=-60
x=10, y=-65
\n;
\image derrick 8 8;
Le \l;derrick\u object\derrick; extrait automatiquement du minerai de titanium, qui ne demande qu'α Ωtre ramassΘ.
\image convert 8 8;
Le \l;convertisseur\u object\convert; transforme le minerai en titanium. Pour cela, il suffit de dΘposer le minerai, de reculer et d'attendre.
\b;Principe
RΘpΘter 2 fois :
o Attendre tant qu'on ne trouve pas de minerai.
o Aller vers le minerai.
o Prendre le minerai.
o Aller vers le convertisseur.
o DΘposer le minerai.
o Reculer de 4 mΦtres.
o Attendre tant qu'on ne trouve pas de titanium.
o Prendre le titanium.
o Aller sur une plate-forme.
o DΘposer le titanium.
\b;Solution
Une boucle \c;\l;for\u cbot\for;\n; permet de rΘpΘter 2 fois l'ensemble des instructions.
Le minerai n'est pas forcΘment disponible tout de suite. Il faut donc attendre que le derrick le produise, ce qui s'effectue avec une boucle \c;\l;do\u cbot\do;\n; comme suit :
\c;
\s;do
\s;{
\s; obj = radar(TitaniumOre);
\s;}
\s;while ( obj == null );
\n;
Lorsque la boucle se termine, vous pouvez aller α la position \c;obj.position\n; avec l'instruction \c;\l;goto\u cbot\goto;\n;. Pour prendre le minerai, utilisez \c;\l;grab\u cbot\grab;\n;.
Pour trouver le convertisseur, il faut utiliser :
\c;
\s;obj = radar(Converter);
\n;
AprΦs avoir dΘposΘ le minerai sur le convertisseur, reculez de 4 mΦtres avec \c;\l;move\u cbot\move;(-4)\n;.
Une deuxiΦme boucle \c;do\n; permet d'attendre la disponibilitΘ du titanium. Attention α limiter la distance maximale du radar α 10 mΦtres, pour ne pas reprendre du titanium dΘjα dΘposΘ sur une plate-forme :
\c;
\s;do
\s;{
\s; obj = radar(Titanium, 0, 360, 0, 10);
\s;}
\s;while ( obj == null );
\n;
Les coordonnΘes \c;x\n; des 2 plates-formes sont toutes Θgales α 10. En revanche, les coordonnΘes \c;y\n; varient de -60 α -65. Une bonne idΘe pour calculer la position est de faire intervenir la variable \c;i\n; de la boucle \c;for\n;, qui prend les valeurs 0 et 1 :
\c;
\s;dest.x = 10;
\s;dest.y = -60-5*i;
\n;
A vous de terminer le programme ...
\key;\key help;\norm; permet de revoir ces instructions en tout temps !
\t;Voir aussi
\l;Commandes\u command; et \l;programmation\u cbot;.