# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2014-07-02 12:51+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Translate Toolkit 1.11.0\n" #. type: One-char language identifier #: train405.languagecode:1 #, no-wrap msgid "E" msgstr "F" # #. type: Title-text #: train405/scene.txt:1 #, no-wrap msgid "train405:Shadow" msgstr "train405:Copieur ..." # #. type: Resume-text #: train405/scene.txt:2 #, no-wrap msgid "train405:Follow a bot, as if you were its shadow." msgstr "train405:Suivez un robot, sans le heurter." # #. type: ScriptName-text #: train405/scene.txt:3 #, no-wrap msgid "train405:Follow" msgstr "train405:Suivre" #. type: \b; header #: train405-help/tfollow1.txt:1 #, no-wrap #, fuzzy, no-wrap msgid "Exercise" msgstr "Exercice" #. type: Plain text #: train405-help/tfollow1.txt:3 #, no-wrap #, fuzzy, 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 #: train405-help/tfollow1.txt:4 #, no-wrap #, fuzzy, no-wrap msgid "General principle" msgstr "Principe" #. type: Plain text #: train405-help/tfollow1.txt:6 #, no-wrap #, fuzzy, no-wrap msgid "Repeat forever :\n" msgstr "Répéter à l'infini:\n" #. type: Bullet: 'o' #: train405-help/tfollow1.txt:6 #, no-wrap #, fuzzy, no-wrap msgid "Look for the target bot." msgstr "Chercher la caisse." #. type: Bullet: 'o' #: train405-help/tfollow1.txt:7 #, no-wrap #, fuzzy, no-wrap msgid "Calculate the distance to the bot." msgstr "Calculer la distance jusqu'à la caisse." #. type: Bullet: 'o' #: train405-help/tfollow1.txt:8 #, no-wrap #, fuzzy, 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' #: train405-help/tfollow1.txt:9 #, no-wrap #, fuzzy, 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 #: train405-help/tfollow1.txt:12 #, no-wrap #, fuzzy, 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: \s; block (usually verbatim code) #: train405-help/tfollow1.txt:16 #, no-wrap #, fuzzy, no-wrap msgid "" "while (true)\n" "{\n" "\tinstructions to be repeated ...\n" "}" msgstr "" "while ( true )\n" "{\n" "\tinstructions à répéter ...\n" "}" #. type: Plain text #: train405-help/tfollow1.txt:18 #, no-wrap #, fuzzy, 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: \s; block (usually verbatim code) #: train405-help/tfollow1.txt:19 #, no-wrap msgid "\ttarget = radar(TargetBot);" msgstr "" #. type: Plain text #: train405-help/tfollow1.txt:21 #, no-wrap msgid "You do not have to test if the radar found a target bot: there must be one." msgstr "" #. type: Plain text #: train405-help/tfollow1.txt:23 #, no-wrap #, fuzzy, 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: \s; block (usually verbatim code) #: train405-help/tfollow1.txt:24 #, no-wrap #, fuzzy, no-wrap msgid "len = distance(position, target.position);" msgstr "len = distance(pos, target.position);" #. type: Plain text #: train405-help/tfollow1.txt:30 #, no-wrap #, fuzzy, 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: \s; block (usually verbatim code) #: train405-help/tfollow1.txt:34 #, no-wrap #, fuzzy, 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 #: train405-help/tfollow1.txt:36 #, no-wrap #, fuzzy, 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: \s; block (usually verbatim code) #: train405-help/tfollow1.txt:48 #, no-wrap #, fuzzy, 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 #: train405-help/tfollow1.txt:55 #, no-wrap #, fuzzy, 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 #: train405-help/tfollow1.txt:56 #, no-wrap #, fuzzy, no-wrap msgid "radar2" msgstr "radar2" #. type: Plain text #: train405-help/tfollow1.txt:58 #, no-wrap #, fuzzy, 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 #: train405-help/tfollow1.txt:60 #, no-wrap #, fuzzy, 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 #: train405-help/tfollow1.txt:61 #, no-wrap #, fuzzy, no-wrap msgid "See also" msgstr "Voir aussi" #. type: Plain text #: train405-help/tfollow1.txt:62 #, no-wrap #, fuzzy, no-wrap msgid "" "Programming, types and categories." msgstr "Exercice précédent et programmation." # #~ msgid "train400:Motors" #~ msgstr "train400:Moteurs" # #~ msgid "train400:Motor" #~ msgstr "train400:Moteur" # #~ msgid "train400:" #~ msgstr "train400:" # #~ msgid "train401:Dragster" #~ msgstr "train401:Dragster" # #~ msgid "train401:" #~ msgstr "train401:" # #~ msgid "" #~ "train401:Program a progressive deceleration in order to avoid the mines " #~ "right behind the goal." #~ msgstr "train401:Décélération avec commande directe des moteurs." # #~ msgid "train402:Radar" #~ msgstr "train402:Radar" # #~ msgid "train402:" #~ msgstr "train402:" # #~ msgid "train402:Use the radar to find lots of stupid blue crosses." #~ msgstr "" #~ "train402:Utilisez le radar pour trouver des objets répartis aléatoirement." # #~ msgid "train402:Find" #~ msgstr "train402:Cherche" # #~ msgid "train403:Crazy bot" #~ msgstr "train403:Le petit poucet" # #~ msgid "train403:" #~ msgstr "train403:" # #~ msgid "" #~ "train403:Use the radar to put some order into a big mess left behind by a " #~ "crazy bot." #~ msgstr "" #~ "train403:Utilisez le radar pour trouver toutes les marques déposées par " #~ "le petit poucet." # #~ msgid "train403:Move" #~ msgstr "train403:Ramasse" # #~ msgid "train404:Patient hunter" #~ msgstr "train404:Chasse à l'homme" # #~ msgid "train404:" #~ msgstr "train404:" # #~ msgid "train404:Be patient enough not to waste your ammunitions." #~ msgstr "" #~ "train404:Abattre quatre cibles mouvantes sans gaspiller un seul coup." # #~ msgid "train404:Patient" #~ msgstr "train404:Abattre" # #~ msgid "train405:" #~ msgstr "train405:"