Des \l;bornes d'informations\u object\exchange; sont placΘes au milieu d'un champ de mines. Lorsque le \l;robot\u object\bottr; est proche d'une borne, il peut lire les informations qu'elle contient. Les informations contenues dans chaque borne donnent la direction α prendre pour atteindre la borne suivante, sans heurter les \l;mines\u object\mine;.
Les bornes sont distantes les unes des autres de 20 mΦtres.
\b;Principe
RΘpΘter 5 fois :
o Avancer de 20 mΦtres.
o Lire la nouvelle direction dans la \l;borne\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;move(20);\n;.
La lecture de la \l;borne\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 borne. L'orientation du robot n'a pas d'importance.
Il faudra dΘfinir une \l;variable\u cbot\var; \c;dir\n; :
\s;\c; float dir;
\n;
Et ensuite lui assigner la direction α prendre :
\s;\c; dir = receive(...);
\n;
Ce qui permet de tourner dans la bonne direction avec :
\s;\c; turn(dir);
\n;
\b;Remarque
En cliquant sur une \l;borne\u object\exchange; pour la sΘlectionner, vous pouvez voir les paramΦtres qu'elle contient. Dans cet exercice, chaque borne contient une seule information appelΘe \c;"Direction"\n;, mais une borne peut contenir jusqu'α 10 valeurs. Ceci sera utilisΘ dans des exercices ultΘrieurs.
\key;\key help;\norm; permet de revoir ces instructions en tout temps !
\t;Voir aussi
\l;Commandes\u command; et \l;programmation\u cbot;.