\b;Exercice
Des \l;station relais\u object\exchange; sont placées au milieu d'un champ de \l;mines\u object\mine;. Lorsque le \l;robot\u object\bottr; est proche d'une station, il peut lire les informations qu'elle contient et qui donnent la direction à prendre pour atteindre la station suivante, sans heurter les \l;mines\u object\mine;.
Les station relais sont distantes de 20 mètres.

\b;Idée générale
Répéter 5 fois:
	o  Avancer de 20 mètres.
	o  Lire la nouvelle direction dans la \l;station relais\u object\exchange;.
	o  Tourner de l'angle obtenu.

\image tinfo1 8 8;
La répétition s'effectue avec une boucle \c;\l;for\u cbot\for;\n; comme vu précédemment:
\s;\c;	for ( int i=0 ; i<5 ; i=i+1 )
\n;
L'avance s'effectue avec un \c;\l;move\u cbot\move;(20);\n;.

La lecture de la \l;station relais\u object\exchange; s'obtient avec \c;\l;receive\u cbot\receive;("Direction");\n;. Ceci n'est évidemment possible que lorsque le \l;robot\u object\bottr; est proche de la station. L'orientation du robot n'a pas d'importance.
Il faudra définir une \l;variable\u cbot\var; \c;dir\n;, juste avant de l'utiliser ou tout au début du programme, à choix:
\s;\c;	float  dir;
\n;
Et ensuite lui assigner la direction à prendre:
\s;\c;	dir = receive("Direction");
\n;
Ce qui permet de tourner dans la bonne direction avec:
\s;\c;	turn(dir);
\n;
\b;Remarque
En cliquant sur une \l;station relais\u object\exchange; pour la sélectionner, vous pouvez voir les paramètres qu'elle contient. Dans cet exercice, chaque station contient une seule information appelée \c;"Direction"\n;, mais une station peut contenir jusqu'à 10 valeurs. Ceci sera utilisé dans des exercices ultérieurs.

\t;Voir aussi
\l;Exercice précédent\u ttit2;, \l;programmation\u cbot;, \l;types\u cbot\type; et \l;catégories\u cbot\category;.
