# 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:29+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 "Shadow"
msgstr "Copieur ..."
#. type: Resume-text
#: ../scene.txt:2
#, no-wrap
msgid "Follow a bot, as if you were its shadow."
msgstr "Suivez un robot, sans le heurter."
#. type: ScriptName-text
#: ../scene.txt:3
#, no-wrap
msgid "Follow"
msgstr "Suivre"
#. 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 "You must follow the target bot with the explosive device, but without touching it, otherwise it will blow up. Every time the target bot stops, you must be close to it (less than 10m). After you managed to stay close to the target bot at 10 successive stops, it will lead you to the finishing pad, and the exercise is over. At every stop, the target bot checks that you are there. If you are not there, you must start over again."
msgstr ""
"Vous devez programmer le robot d'entraînement pour suivre la caisse d'explosifs, mais sans la toucher, car elle est très fragile. Chaque fois que la caisse s'arrête 2 secondes, vous devez être à proximité immédiate (moins de 10 mètres). Après 10 arrêts, la caisse s'approche de la plate-forme d'arrivée, pous vous y ammener.\n"
"A chaque arrêt, la caisse vérifie que vous êtes bien là. Si ce n'est pas le cas, le compteur est remis à zéro. Vous devez donc réussir 10 fois consécutives!"
#. type: \b; header
#: ../help/help.E.txt:4
#, no-wrap
msgid "General principle"
msgstr "Idée générale"
#. type: Plain text
#: ../help/help.E.txt:5
#, no-wrap
msgid "Repeat forever :"
msgstr "Répéter à l'infini:"
#. type: Bullet: 'o'
#: ../help/help.E.txt:6
#, no-wrap
msgid "Look for the target bot."
msgstr "Chercher la caisse."
#. type: Bullet: 'o'
#: ../help/help.E.txt:7
#, no-wrap
msgid "Calculate the distance to the bot."
msgstr "Calculer la distance jusqu'à la caisse."
#. type: Bullet: 'o'
#: ../help/help.E.txt:8
#, no-wrap
msgid "if the distance to the target bot is less than 5m, move backward."
msgstr "Si cette distance est plus petite que 5 mètres, reculer."
#. type: Bullet: 'o'
#: ../help/help.E.txt:9
#, no-wrap
msgid "Otherwise, calculate the direction of the target bot, and move towards it."
msgstr "Sinon, calculer la direction de la caisse et s'y diriger."
#. type: Plain text
#: ../help/help.E.txt:11
#, no-wrap
msgid "As many times before, use while (true)
in order to perform the infinite loop:"
msgstr "La boucle infinie s'effectue avec un traditionnel while( true )
."
#. type: Source code
#: ../help/help.E.txt:12
#, no-wrap
msgid ""
"while (true)\n"
"{\n"
"\t
instructions to be repeated ...\n"
"}"
msgstr ""
"while ( true )\n"
"{\n"
"\t
instructions à répéter ...\n"
"}"
#. type: Plain text
#: ../help/help.E.txt:17
#, no-wrap
msgid "Look for the target bot with the instruction radar
:"
msgstr "La recherche de la caisse se fait dans toutes les directions, avec radar
:"
#. type: Source code
#: ../help/help.E.txt:18
#, no-wrap
msgid "\ttarget = radar(TargetBot);"
msgstr "\ttarget = radar(TargetBot);"
#. type: Plain text
#: ../help/help.E.txt:20
#, no-wrap
msgid "You do not have to test if the radar found a target bot: there must be one."
msgstr "Vous n'avez pas besoin de tester si le radar a trouvé un robot cible : il doit y en avoir un."
#. type: Plain text
#: ../help/help.E.txt:22
#, no-wrap
msgid "Use the instruction distance( , )
to calculate the distance between two points. The first point will be the position of your own bot, given by position
. The second point is the position of the target bot, given by target.position
."
msgstr "Le calcul de la distance jusqu'à la caisse utilise l'instruction distance(p1, p2)
. Cette instruction retourne la distance entre deux points p1
et p2
. Le premier point sera ici la position du robot, obtenue simplement avec pos
. La position de la caisse est obtenue à travers la description de l'objet target
avec l'expression target.position
."
#. type: Source code
#: ../help/help.E.txt:23
#, no-wrap
msgid "len = distance(position, target.position);"
msgstr "len = distance(pos, target.position);"
#. type: Plain text
#: ../help/help.E.txt:25
#, no-wrap
msgid ""
"If the distance to the target bot is smaller than 5m, move backward with a speed inversely proportional to the distance: the closer you are to the bot, the faster you must move backward.\n"
"\tDistance = 5.0 meters -> speed = 0.0\n"
"\tDistance = 2.5 meters -> speed = -0.5\n"
"\tDistance = 0.0 meters -> speed = -1.0\n"
"You can use the expression distance/5-1
in order to achieve this, together with the if
to test if the target is closer than 5m:"
msgstr ""
"Si la distance est inférieure à 5 mètres, il faut reculer d'une vitesse proportionnelle à la distance. Plus la distance est petite, plus il faut reculer vivement.\n"
"\tDistance = 5.0 mètres -> vitesse = 0.0\n"
"\tDistance = 2.5 mètres -> vitesse = -0.5\n"
"\tDistance = 0.0 mètres -> vitesse = -1.0\n"
"Ceci s'obtient très simplement avec l'expression distance/5-1
. Donc, avec un if
:"
#. type: Source code
#: ../help/help.E.txt:30
#, no-wrap
msgid ""
"if ( len < 5 ) // too close ?\n"
"{\n"
"\tmotor(len/5-1, len/5-1); // moves backward\n"
"}"
msgstr ""
"if ( len < 5 ) // trop proche?\n"
"{\n"
"\tmotor(len/5-1, len/5-1); // recule\n"
"}"
#. type: Plain text
#: ../help/help.E.txt:35
#, no-wrap
msgid "If the distance to the target is greater than 5m, move towards the target. First calculate the angle necessary to face the target with the instruction direction
. You can then adjust the speed of the right-hand and left-hand motor in order to follow the target:"
msgstr "Si la distance dépasse 5 mètres, on avance en direction de la caisse en calculant l'angle avec direction
."
#. type: Source code
#: ../help/help.E.txt:36
#, no-wrap
msgid ""
"else\n"
"{\n"
"\tdir = direction(target.position);\n"
"\tif ( dir >= 0 ) // target on the left side?\n"
"\t{\n"
"\t\tmotor(1-dir/90, 1);\n"
"\t}\n"
"\telse // target on the right side?\n"
"\t{\n"
"\t\tit is up to you to fill in\n"
"\t}\n"
"}"
msgstr ""
"else\n"
"{\n"
"\tdir = direction(target.position);\n"
"\tif ( dir < 0 ) // à droite?\n"
"\t{\n"
"\t\tmotor(1, 1+dir/90);\n"
"\t}\n"
"\telse // à gauche?\n"
"\t{\n"
"\t\t//... à vous de trouver ...\n"
"\t}\n"
"}"
#. type: Plain text
#: ../help/help.E.txt:49
#, no-wrap
msgid ""
"When the target is on your left, dir
takes a positive value, ranging between 0 and 180. The expression 1-dir/90
returns a speed ranging between 1 and -1, according to the direction:\n"
"\tdirection = 0 -> speed = 1.0\n"
"\tdirection = 45 -> speed = 0.5\n"
"\tdirection = 90 -> speed = 0.0\n"
"\tdirection = 135 -> speed = -0.5\n"
"\tdirection = 180 -> speed = -1.0"
msgstr ""
"Lorsque la caisse est à gauche, dir
est positif, compris entre 0 et 180 degrés. L'expression 1-dir/90
donne une vitesse comprise entre 1 et -1, selon la direction.\n"
"\tdirection = 0 -> vitesse = 1.0\n"
"\tdirection = 45 -> vitesse = 0.5\n"
"\tdirection = 90 -> vitesse = 0.0\n"
"\tdirection = 135 -> vitesse = -0.5\n"
"\tdirection = 180 -> vitesse = -1.0"
#. type: Image filename
#: ../help/help.E.txt:56
#, no-wrap
msgid "radar2"
msgstr "radar2"
#. type: Plain text
#: ../help/help.E.txt:57
#, no-wrap
msgid "When the target is on the right side, dir
is negative, ranging between 0 and -180."
msgstr "Lorsque la caisse est à droite, dir
est négatif, compris entre 0 et -180 degrés."
#. type: Plain text
#: ../help/help.E.txt:59
#, no-wrap
msgid "The only task left for you now is to declare the variables that you use in the program. target
is of type object
, whereas dir
and len
are of type float
."
msgstr ""
"Pour que ce programme fonctionne, il faut encore déclarer toutes les variables utilisées.\n"
"target
est de type object
, alors que dir
et len
sont de type float
."
#. type: \t; header
#: ../help/help.E.txt:61
#, no-wrap
msgid "See also"
msgstr "Voir aussi"
#. type: Plain text
#: ../help/help.E.txt:62
#, no-wrap
msgid "Programming, types and categories."
msgstr "Exercice précédent, programmation, types et catégories."