\b;Exercice
Détruire les six \l;cibles\u object\bottarg; à l'aide d'un programme utilisant une boucle. Il faut avancer de 5 mètres pour passer d'une cible à l'autre.

\b;Principe
Le programme va ressembler à ceci¦:
\s;o  Répéter 6 fois¦:
\s;	o  avancer de 5 mètres
\s;	o  tourner de 90 degrés à gauche
\s;	o  tirer
\s;	o  tourner de 90 degrés à droite

\image trepeat 14 5;
\b;Instruction \c;repeat ( )\n;
L'instruction \c;\l;repeat\u cbot\repeat;\n; utilise une expression, entre les parenthèses, qui indique le nombre de répétition à effectuer. La boucle à utiliser intégrée dans le programme sera¦:
\s;\c;extern void object::Go( )
\s;{
\s;	repeat ( 6 )
\s;	{
\s;		\n;instructions répétées 6x ...\c;
\s;	}
\s;}\n;
ATTENTION: La ligne \c;repeat ( )\n; ne doit jamais être suivie d'un \l;point-virgule\u cbot\term;¦!

\b;Les blocs
Les accolades \c;{ }\n; servent à créer des \l;blocs\u cbot\bloc;. Ainsi, l'instruction \c;repeat\n; est suivie d'un bloc, qui est répété dans son ensemble.
Le programme principal est lui-même constitué d'un bloc¦:
\c;
\s;extern void object::Go( )
\s;{
\s;	\n;à compléter ...\c;
\s;}
\n;
Il ne faut jamais modifier ces caractères. Le seul endroit où vous pouvez agir est dans le bloc, là où apparaît "à compléter".
Il est possible de mettre des blocs dans d'autres blocs. C'est le cas du bloc \c;repeat\n; qui est à l'intérieur du bloc du programme principal. En général, pour des questions de lisibilité, on aligne verticalement l'accolade ouvrante \c;{\n; avec sa partenaire fermante \c;}\n;. Mais cela n'est pas obligatoire.

\b;Remarques
L'instruction pour avancer est \c;\l;move\u cbot\move;(distance);\n;.
L'instruction pour tourner est \c;\l;turn\u cbot\turn;(angle);\n;. Un angle positif tourne à gauche.
L'instruction pour tirer est \c;\l;fire\u cbot\fire;(time);\n;. Une durée d'une seconde permet d'économiser l'énergie pour pouvoir détruire les six \l;cibles\u object\bottarg;.

\key;\key help;\norm; permet de revoir les instructions générales en tout temps. De même, \key;\key prog;\norm; accède aux explications du langage de programmation CBOT.

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