\b;Objectif
Equipez les \l;robots shooter\u object\botfj; de \l;piles\u object\power;, pour que ceux-ci puissent assainir le nid de \l;fourmis\u object\ant; qui se trouve dans un cratère au nord de votre position.

\t;Programme
Le robot déménageur doit aller vers une pile, prendre celle-ci, aller vers un robot, et poser la pile. Voici un programme d'un exercice précédent qui accomplit une tâche semblable:
\c;
\s;extern void object::Titanium2()
\s;{
\s;	object    chose;
\s;	
\s;	chose = radar(TitaniumOre);
\s;	goto(chose.position);
\s;	grab();
\s;	
\s;	chose = radar(Converter);
\s;	goto(chose.position);
\s;	drop();
\s;}
\n;
The best way to solve the present exercise is to copy \button 61; the program above into the clipboard (from \c;object\n; to \c;drop();\n;), and paste \button 62; it into the program editor. Then you just have to make the necessary changes in order to adapt it to the new task.

Vous pouvez reprendre ce programme avec couper-coller, et apporter les changements nécessaires. Au lieu de chercher un minerai de titanium (\c;TitaniumOre\n;), cherchez une pile (\c;\l;PowerCell\u object\power;\n;). Au lieu d'aller ensuite vers un convertisseur (\c;Converter\n;), allez vers un robot shooter (\c;\l;WingedShooter\u object\botfj;\n;). Le shooter fera ensuite son travail.

Pour savoir comment s'appellent les différents objets dans le langage de programmation, reportez-vous au \l;texte décrivant les catégories\u cbot\category;.

\t;Perfectionnement: les boucles
Une fois que le programme expliqué ci-dessus fonctionne, vous pouvez l'améliorer de manière à ce qu'il répète les actions nécessaires tout seul. Vous n'aurez plus à exécuter le programme plusieurs fois pour qu'il équipe plusieurs robots.

Ajoutez simplement une instruction \c;\l;while\u cbot\while;(true)\n; au début du programme, avec toutes les instructions à répéter entre les accolades \c;{}\n;:
\c;
\s;	while (true)
\s;	{
\s;		chose = radar(PowerCell);
\s;		goto(chose.position);
\s;		grab();
\s;		
\s;		chose = radar(WingedShooter);
\s;		goto(chose.position);
\s;		drop();
\s;	}
\n;
N'oubliez pas de déclararer la variable \c;object chose;\n; avant de l'utiliser la première fois.

\t;Remarque
Un robot peut exécuter un programme tout seul: pendant ce temps, vous pouvez sélectionner le \l;cosmonaute\u object\human; et aller observer ce qui se passe vers le nid, en faisant cependant attention de ne pas vous mettre dans la ligne de tir. Les touches \key;\key gup;\norm; et \key;\key gdown;\norm; permettent de voler. Cliquez \l;ici\u command; pour voir le détail des commandes de déplacement.

\t;Voir aussi
\l;Exercice précédent\u tlaby2; et \l;programmation\u cbot;.
