Programmez le \l;robot\u object\botsr; renifleur pour quadriller le secteur entre les barriΦres.
Vous devez trouver 3 emplacements permettant de construire un derrick. Un emplacement dΘcouvert est marquΘ d'une croix rouge.
\b;Description
L'enclos est carrΘ et mesure 25 mΦtres de c⌠tΘ. Une bonne base consiste α effectuer un sondage tous les 5 mΦtres.
\image sniff1 12 12;
Une faτon d'y parvenir consiste α imbriquer deux boucles \c;\l;for\u cbot\for;\n; l'une dans l'autre :
\c;
\s;for ( int y=0 ; y<6 ; y=y+1 )
\s;{
\s; for ( int x=0 ; x<5 ; x=x+1 )
\s; {
\s; \n;sondage ...\c;
\s; \n;avancer de 5 mΦtres\c;
\s; }
\s; \n;sondage ...\c;
\s; \n;quart de tour α gauche\c;
\s; \n;avancer de 5 mΦtres\c;
\s; \n;quart de tour α gauche\c;
\s;}
\n;
Ce programme ne fonctionne pas. AprΦs la premiΦre ligne sondΘe, le \l;robot\u object\botsr; tourne α gauche puis sonde la deuxiΦme ligne en revenant en arriΦre. Au deuxiΦme virage, il doit tourner α droite !
On constate que si \c;y\n; est pair, il faut tourner α gauche. A l'inverse, si \c;y\n; est impair, il faut tourner α droite.
L'\l;expression\u cbot\expr; \c;y%2\n; permet d'obtenir le reste de la division de \c;y\n; par \c;2\n;. Donc, si \c;y=3\n;, on obtient \c;1\n;.
Le test \c;\l;if\u cbot\if; { }\n; peut Ωtre suivi d'un \c;else { }\n;. Si le test est vrai, le premier \l;bloc\u cbot\bloc; \c;{ }\n; est exΘcutΘ. Sinon, c'est le deuxiΦme bloc \c;{ }\n; qui est exΘcutΘ.
\c;
\s;if ( y%2 == 0 )
\s;{
\s; y \n;est pair ...\c;
\s;}
\s;else
\s;{
\s; y \n;est impair ...\c;
\s;}
\n;
A vous de terminer le programme ...
\b;Remarque
L'instruction \c;\l;sniff\u cbot\sniff;( )\n; effectue un sondage.
Utilisez Θgalement les instructions \c;\l;move\u cbot\move;( )\n; et \c;\l;turn\u cbot\turn;( )\n;.
\key;\key help;\norm; permet de revoir ces instructions en tout temps !
\t;Voir aussi
\l;Commandes\u command; et \l;programmation\u cbot;.