colobot-data/levels/train302/help/F/tmove2.txt

69 lines
2.9 KiB
Plaintext

\b;Exercice
Cet exercice est presque semblable au précédent. Le \l;robot\u object\bottr; doit effectuer un déplacement identique, mais en utilisant un concept nouveau et très important dans les langages informatiques: les \l;variables\u cbot\var;.
Il n'est pas forcément facile de se souvenir qu'il faut utiliser \c;90\n; pour virer à gauche et \c;-90\n; pour virer à droite avec l'instruction \c;\l;turn\n;\u cbot\turn;. En stockant ces valeurs dans deux variables que l'on nomme \c;gauche\n; et \c;droite\n;, l'écriture devient plus simple.
On remplace:
\c;\s;move(20);
\s;turn(90);
\s;move(20);
\s;turn(-90);
\s;...
\n;
Par:
\c;\s;gauche = 90;
\s;droite = -90;
\s;move(dist);
\s;turn(gauche);
\s;move(dist);
\s;turn(droite);
\s;...
\n;
\b;Les variables
Une \l;variable\u cbot\var; est décrite par trois éléments:
1) Son nom,
2) Le type du contenu,
3) Le contenu.
\t;Le nom
Le nom permet d'accéder au contenu. Par exemple, plutôt que d'écrire \c;turn(-90);\n;, on écrira \c;turn(droite);\n;. Vous avez toute liberté de choisir pratiquement n'importe quel nom pour une variable. Par exemple: \c;dist\n;, \c;gauche\n;, \c;p2\n;, \c;a\n;, \c;x\n;, \c;chute_2_pierre\n;, etc.
\t;Le type
Le type détermine ce que contient la variable. En effet, une variable peut contenir un nombre entier, un nombre réel, une chaîne de caractères, une coordonnée d'un point, etc.
Les types les plus courants sont:
o \c;\l;int\u cbot\int;\n; pour un nombre entier (12, -500, etc.)
o \c;\l;float\u cbot\float;\n; pour un nombre réel (3.14, 0.2, -99.98, etc.)
o \c;\l;string\u cbot\string;\n; pour une chaîne de caractères ("bonjour", "le chat", etc.)
o \c;\l;point\u cbot\point;\n; pour une coordonnée dans l'espace x,y,z
o \c;\l;object\u cbot\object;\n; pour décrire un objet (robot, bâtiment, etc.)
\t;Le contenu
Le contenu d'une variable peut être une valeur, une chaîne de caractères ou une coordonnée, selon le type.
Avant d'être utilisée, une variable doit être déclarée. Par exemple, avant de pouvoir utiliser deux variables \c;gauche\n; et \c;droite\n;, il faut les déclarer comme suit:
\c;
\s;float gauche;
\s;float droite;
\n;
Ces deux variables peuvent maintenant être utilisées. Pour mettre la valeur 90 dans \c;gauche\n; et -90 dans \c;droite\n;, il suffit d'écrire:
\c;
\s;gauche = 90;
\s;droite = -90;
\n;
Il est maintenant possible de faire tourner le \l;robot\u object\bottr; avec l'instruction \c;\l;turn\n;\u cbot\turn;:
\c;
\s;turn(gauche);
\s;\n; ou\c;
\s;turn(droite);
\n;
You can also use a whole \l;mathematical expression\u cbot\expr; instead of just the variable:
\c;
\s; move(dist+100);
\s; turn(-dir);
\n;
The latter instruction will be needed to turn the bot right.
A vous maintenant de ré-écrire le programme de l'exercice précédent, en utilisant deux variables pour tourner à gauche et à droite.
\t;Voir aussi
\l;Exercice précédent\u tmove1; et \l;programmation\u cbot;.