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