248 lines
9.9 KiB
Plaintext
248 lines
9.9 KiB
Plaintext
# Copyright (C) 2019 Free Software Foundation, Inc.
|
|
# This file is distributed under the same license as the PACKAGE package.
|
|
# BCE <.>, 2019.
|
|
msgid ""
|
|
msgstr ""
|
|
"Project-Id-Version: \n"
|
|
"Report-Msgid-Bugs-To: \n"
|
|
"POT-Creation-Date: DATE\n"
|
|
"PO-Revision-Date: 2019-06-15 18:30+0200\n"
|
|
"Last-Translator: BCE <.>\n"
|
|
"Language-Team: French <>\n"
|
|
"Language: fr\n"
|
|
"MIME-Version: 1.0\n"
|
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
"Content-Transfer-Encoding: 8bit\n"
|
|
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
|
"X-Generator: Lokalize 18.12.3\n"
|
|
|
|
#. type: Title-text
|
|
#: ../scene.txt:1
|
|
#, no-wrap
|
|
msgid "Radar"
|
|
msgstr "Radar"
|
|
|
|
#. type: Resume-text
|
|
#: ../scene.txt:2
|
|
#, no-wrap
|
|
msgid "Use the radar to find lots of stupid blue crosses."
|
|
msgstr "Utilisez le radar pour trouver des objets répartis aléatoirement."
|
|
|
|
#. type: ScriptName-text
|
|
#: ../scene.txt:3
|
|
#, no-wrap
|
|
msgid "Find"
|
|
msgstr "Cherche"
|
|
|
|
#. type: \b; header
|
|
#: ../help/help.E.txt:1
|
|
#, no-wrap
|
|
msgid "Exercise"
|
|
msgstr "Exercice"
|
|
|
|
#. type: Plain text
|
|
#: ../help/help.E.txt:2
|
|
#, no-wrap
|
|
msgid "Let the bot find all the <a object|waypoint>blue crosses</a> on the ground. As soon as the bot passed over one of the crosses, it will disappear. Here is the general principle that you will apply:"
|
|
msgstr "Programmez le <a object|bottr>robot</a> pour qu'il trouve toutes les <a object|waypoint>croix bleues</a> posées au sol. Dès que le robot est sur une croix, elle disparaît. Le principe à utiliser est le suivant:"
|
|
|
|
#. type: Plain text
|
|
#: ../help/help.E.txt:4
|
|
#, no-wrap
|
|
msgid "Repeat forever:"
|
|
msgstr "Répéter à l'infini:"
|
|
|
|
#. type: Bullet: 'o'
|
|
#: ../help/help.E.txt:5
|
|
#, no-wrap
|
|
msgid "Look for a cross"
|
|
msgstr "Chercher une croix"
|
|
|
|
#. type: Bullet: 'o'
|
|
#: ../help/help.E.txt:6
|
|
#, no-wrap
|
|
msgid "If there is none, stop the program."
|
|
msgstr "Si rien n'est trouvé, stopper"
|
|
|
|
#. type: Bullet: 'o'
|
|
#: ../help/help.E.txt:7
|
|
#, no-wrap
|
|
msgid "Calculate the direction of the cross."
|
|
msgstr "Calculer la direction de la croix"
|
|
|
|
#. type: Bullet: 'o'
|
|
#: ../help/help.E.txt:8
|
|
#, no-wrap
|
|
msgid "Set the speed of the motors in such a way that they will find their way to the cross."
|
|
msgstr "Donner une consigne de vitesse aux moteurs pour se diriger dans la bonne direction"
|
|
|
|
#. type: \b; header
|
|
#: ../help/help.E.txt:10
|
|
#, no-wrap
|
|
msgid "The program"
|
|
msgstr "Le programme"
|
|
|
|
#. type: Plain text
|
|
#: ../help/help.E.txt:11
|
|
#, no-wrap
|
|
msgid "Use a <code><a cbot|while>while</a></code> loop in order to repeat several instructions over and over:"
|
|
msgstr "La boucle infinie s'écrit avec <code><a cbot|while>while</a></code>:"
|
|
|
|
#. type: Source code
|
|
#: ../help/help.E.txt:12
|
|
#, no-wrap
|
|
msgid ""
|
|
"<code>while ( true )\n"
|
|
"{\n"
|
|
"\t</code>instructions...<c/>\n"
|
|
"}"
|
|
msgstr ""
|
|
"<code>while ( true )\n"
|
|
"{\n"
|
|
"\t</code>instructions...<c/>\n"
|
|
"}"
|
|
|
|
#. type: Plain text
|
|
#: ../help/help.E.txt:17
|
|
#, no-wrap
|
|
msgid "The instruction <code><a cbot|radar>radar</a></code> will detect the blue crosses and put their description into a variable, for example <code>spot</code>. In this case, <code><a cbot|radar>radar</a>()</code> needs only one parameter, i.e. the category of the object that it must look for:"
|
|
msgstr "L'instruction <code><a cbot|radar>radar</a></code> détecte un objet. Cette instruction reçoit de 1 à 6 paramètres. Dans notre cas, il suffit de spécifier le premier paramètre, pour détecter toutes les croix:"
|
|
|
|
#. type: Source code
|
|
#: ../help/help.E.txt:18
|
|
#, no-wrap
|
|
msgid "<c/>spot = radar(WayPoint);"
|
|
msgstr "<c/>spot = radar(WayPoint);"
|
|
|
|
#. type: Plain text
|
|
#: ../help/help.E.txt:20
|
|
#, no-wrap
|
|
msgid "Once all the crosses have been found, <code>radar</code> will return the value <code><a cbot|null>null</a></code>. You will have to test this case and react accordingly with the instruction <code><a cbot|if>if</a></code>:"
|
|
msgstr "Si toutes les croix sont trouvées, <code>radar</code> retourne un <a cbot|null>objet nul</a>, qu'il faut détecter comme suit avec un <code><a cbot|if>if</a></code>:"
|
|
|
|
#. type: Source code
|
|
#: ../help/help.E.txt:21
|
|
#, no-wrap
|
|
msgid ""
|
|
"<c/>if ( spot == null ) // no more ?\n"
|
|
"{\n"
|
|
"\tmotor(0, 0); // stops the motors\n"
|
|
"\tbreak; // stops the loop\n"
|
|
"}"
|
|
msgstr ""
|
|
"<c/>if ( spot == null ) // plus rien?\n"
|
|
"{\n"
|
|
"\tmotor(0, 0); // stoppe\n"
|
|
"\tbreak; // fin de la boucle\n"
|
|
"}"
|
|
|
|
#. type: Plain text
|
|
#: ../help/help.E.txt:26
|
|
#, no-wrap
|
|
msgid "<n/>The instruction <code><a cbot|break>break</a></code> will stop the infinite loop <code>while (true)</code>."
|
|
msgstr "<n/>L'instruction <code><a cbot|break>break</a></code> sort de la boucle infinie <code>while ( true )</code>."
|
|
|
|
#. type: Plain text
|
|
#: ../help/help.E.txt:28
|
|
#, no-wrap
|
|
msgid "Use the instruction <code><a cbot|direct>direction</a>()</code> to calculate the angle of the rotation that the bot must perform in order to turn towards the blue cross. The coordinates of the object are given by <code>spot.position</code>. The following line will put the angle of the necessary rotation into the <a cbot|var>variable</a> <code>dir</code>:"
|
|
msgstr "Le calcul de la direction est obtenu par l'instruction <code><a cbot|direct>direction</a>(point)</code>, qui retourne l'angle permettant d'orienter le <a object|bottr>robot</a> vers le point spécifié. La coordonnée de l'objet s'obtient simplement avec <code>spot.position</code>. La ligne suivante met donc dans la <a cbot|var>variable</a> <code>dir</code> l'angle correspondant à la direction de la croix:"
|
|
|
|
#. type: Source code
|
|
#: ../help/help.E.txt:29
|
|
#, no-wrap
|
|
msgid "<c/>dir = direction(spot.position);"
|
|
msgstr "<c/>dir = direction(spot.position);"
|
|
|
|
#. type: Plain text
|
|
#: ../help/help.E.txt:31
|
|
#, no-wrap
|
|
msgid "The value of the angle is positive if the blue cross is on your left hand, and negative if it is on your right hand. If the cross to be reached is on your left hand, you must set the right-hand motor to full speed, and set the left-hand motor to a lower speed, according to the angle:"
|
|
msgstr "L'angle obtenu est positif si le point est à gauche, et négatif s'il est à droite. Si la croix à atteindre est à gauche, il faut donner une consigne de vitesse maximale au moteur droite, et une consigne proportionnelle à l'angle au moteur gauche:"
|
|
|
|
#. type: Plain text
|
|
#: ../help/help.E.txt:33
|
|
#, no-wrap
|
|
msgid ""
|
|
" direction = <code> 0</code> -> speed = <code> 1.0</code>\n"
|
|
" direction = <code> 45</code> -> speed = <code> 0.5</code>\n"
|
|
" direction = <code> 90</code> -> speed = <code> 0.0</code>\n"
|
|
" direction = <code>135</code> -> speed = <code>-0.5</code>\n"
|
|
" direction = <code>180</code> -> speed = <code>-1.0</code>"
|
|
msgstr ""
|
|
" direction = <code> 0</code> -> vitesse = <code> 1.0</code>\n"
|
|
" direction = <code> 45</code> -> vitesse = <code> 0.5</code>\n"
|
|
" direction = <code> 90</code> -> vitesse = <code> 0.0</code>\n"
|
|
" direction = <code>135</code> -> vitesse = <code>-0.5</code>\n"
|
|
" direction = <code>180</code> -> vitesse = <code>-1.0</code>"
|
|
|
|
#. type: Plain text
|
|
#: ../help/help.E.txt:39
|
|
#, no-wrap
|
|
msgid "The graphic below shows the speed of the left-hand and right-hand motor as set by the instruction <code><a cbot|motor>motor</a></code>, according to the angle:"
|
|
msgstr "Le diagramme ci-dessous montre les consignes aux moteurs gauche et droite selon l'angle, pour l'instruction <code><a cbot|motor>motor</a></code>:"
|
|
|
|
#. type: Image filename
|
|
#: ../help/help.E.txt:41
|
|
#, no-wrap
|
|
msgid "radar2"
|
|
msgstr "radar2"
|
|
|
|
#. type: Plain text
|
|
#: ../help/help.E.txt:42
|
|
#, no-wrap
|
|
msgid "If the cross is straight ahead, the angle is 0 degrees. The motors will get the speeds 1 and 1, which means full speed ahead. If the cross is behind, the right motor will be set to speed -1: it will turn around. You can use the <a cbot|expr>expression</a> <code>1+dir/90</code> in order to calculate the necessary speed of the motors:"
|
|
msgstr "Si la croix est droit devant, la direction vaut 0 degrés. Les deux moteurs recevront les consignes 1 et 1, ce qui signifie avancer tout droit à la vitesse maximale. Si la croix est derrière, la vitesse du moteur droite sera -1. Le <a object|bottr>robot</a> effectue donc un demi-tour par la droite, ce qui est bien le comportement souhaité. L'<a cbot|expr>expression</a> <code>1+dir/90</code> donne exactement le résultat souhaité."
|
|
|
|
#. type: Source code
|
|
#: ../help/help.E.txt:43
|
|
#, no-wrap
|
|
msgid ""
|
|
"<c/>if ( dir < 0 ) // on the right side?\n"
|
|
"{\n"
|
|
"\tmotor(1, 1+dir/90); // turns more or less\n"
|
|
"}"
|
|
msgstr ""
|
|
"<c/>if ( dir < 0 ) // à droite?\n"
|
|
"{\n"
|
|
"\tmotor(1, 1+dir/90); // tourne plus ou moins\n"
|
|
"}"
|
|
|
|
#. type: Plain text
|
|
#: ../help/help.E.txt:48
|
|
#, no-wrap
|
|
msgid "Use the same principle if the angle has got a positive value, ranging between 0 and 180 degrees. It is up to you to work out the exact instructions to be performed:"
|
|
msgstr "Le même raisonnement s'applique lorsque la direction est positive, comprise entre 0 et 180 degrés, et que la croix est à gauche. A vous de trouver les instructions nécessaires."
|
|
|
|
#. type: Source code
|
|
#: ../help/help.E.txt:49
|
|
#, no-wrap
|
|
msgid ""
|
|
"<code>else // on the left side?\n"
|
|
"{\n"
|
|
"\t</code>up to you to fill in here...<c/>\n"
|
|
"}"
|
|
msgstr ""
|
|
"<code>else // à gauche?\n"
|
|
"{\n"
|
|
"\t</code>// ... à vous de trouver ...<c/>\n"
|
|
"}"
|
|
|
|
#. type: Plain text
|
|
#: ../help/help.E.txt:54
|
|
#, no-wrap
|
|
msgid "At the beginning of the program, you must still declare all the variables. <code>spot</code> is of type <code><a cbot|object>object</a></code>, whereas <code>dir</code> is of type <code><a cbot|float>float</a></code>."
|
|
msgstr "Pour que ce programme fonctionne, il faut encore déclarer toutes les variables utilisées, au début. <code>spot</code> est de type <code><a cbot|object>object</a></code>, alors que <code>dir</code> est de type <code><a cbot|float>float</a></code>."
|
|
|
|
#. type: \t; header
|
|
#: ../help/help.E.txt:56
|
|
#, no-wrap
|
|
msgid "See also"
|
|
msgstr "Voir aussi"
|
|
|
|
#. type: Plain text
|
|
#: ../help/help.E.txt:57
|
|
#, no-wrap
|
|
msgid "<a cbot>Programming</a>, <a cbot|type>types</a> and <a cbot|category>categories</a>."
|
|
msgstr "<a tcircle3>Exercice précédent</a>, <a cbot>programmation</a>, <a cbot|type>types</a> et <a cbot|category>catégories</a>."
|