302 lines
8.0 KiB
Plaintext
302 lines
8.0 KiB
Plaintext
![]() |
# SOME DESCRIPTIVE TITLE
|
||
|
# Copyright (C) YEAR Free Software Foundation, Inc.
|
||
|
# This file is distributed under the same license as the PACKAGE package.
|
||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||
|
#
|
||
|
#
|
||
|
msgid ""
|
||
|
msgstr ""
|
||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||
|
"POT-Creation-Date: 2013-10-24 08:59+0200\n"
|
||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||
|
"Language: \n"
|
||
|
"MIME-Version: 1.0\n"
|
||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||
|
"Content-Transfer-Encoding: 8bit\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
|
||
|
msgid "Exercise"
|
||
|
msgstr ""
|
||
|
|
||
|
#. type: Plain text
|
||
|
#: train405-help/tfollow1.txt:3
|
||
|
#, no-wrap
|
||
|
msgid "You must follow the <a object|bottr>target bot</a> 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 ""
|
||
|
|
||
|
#. type: \b; header
|
||
|
#: train405-help/tfollow1.txt:4
|
||
|
#, no-wrap
|
||
|
msgid "General principle"
|
||
|
msgstr ""
|
||
|
|
||
|
#. type: Plain text
|
||
|
#: train405-help/tfollow1.txt:6
|
||
|
#, no-wrap
|
||
|
msgid "Repeat forever :\n"
|
||
|
msgstr ""
|
||
|
|
||
|
#. type: Bullet: 'o'
|
||
|
#: train405-help/tfollow1.txt:6
|
||
|
#, no-wrap
|
||
|
msgid "Look for the target bot."
|
||
|
msgstr ""
|
||
|
|
||
|
#. type: Bullet: 'o'
|
||
|
#: train405-help/tfollow1.txt:7
|
||
|
#, no-wrap
|
||
|
msgid "Calculate the distance to the bot."
|
||
|
msgstr ""
|
||
|
|
||
|
#. type: Bullet: 'o'
|
||
|
#: train405-help/tfollow1.txt:8
|
||
|
#, no-wrap
|
||
|
msgid "if the distance to the target bot is less than 5m, move backward."
|
||
|
msgstr ""
|
||
|
|
||
|
#. type: Bullet: 'o'
|
||
|
#: train405-help/tfollow1.txt:9
|
||
|
#, no-wrap
|
||
|
msgid "Otherwise, calculate the direction of the target bot, and move towards it."
|
||
|
msgstr ""
|
||
|
|
||
|
#. type: Plain text
|
||
|
#: train405-help/tfollow1.txt:12
|
||
|
#, no-wrap
|
||
|
msgid "As many times before, use <code><a cbot|while>while</a> (true)</code> in order to perform the infinite loop:"
|
||
|
msgstr ""
|
||
|
|
||
|
#. type: \s; block (usually verbatim code)
|
||
|
#: train405-help/tfollow1.txt:16
|
||
|
#, no-wrap
|
||
|
msgid ""
|
||
|
"<code>while (true)\n"
|
||
|
"{\n"
|
||
|
"\t</code>instructions to be repeated ...<c/>\n"
|
||
|
"}"
|
||
|
msgstr ""
|
||
|
|
||
|
#. type: Plain text
|
||
|
#: train405-help/tfollow1.txt:18
|
||
|
#, no-wrap
|
||
|
msgid "Look for the target bot with the instruction <code><a cbot|radar>radar</a></code>:"
|
||
|
msgstr ""
|
||
|
|
||
|
#. type: \s; block (usually verbatim code)
|
||
|
#: train405-help/tfollow1.txt:19
|
||
|
#, no-wrap
|
||
|
msgid "<c/>\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
|
||
|
msgid "Use the instruction <code><a cbot|dist>distance</a>( , )</code> to calculate the distance between two points. The first point will be the position of your own bot, given by <code>position</code>. The second point is the position of the target bot, given by <code>target.position</code>."
|
||
|
msgstr ""
|
||
|
|
||
|
#. type: \s; block (usually verbatim code)
|
||
|
#: train405-help/tfollow1.txt:24
|
||
|
#, no-wrap
|
||
|
msgid "<c/>len = distance(position, target.position);"
|
||
|
msgstr ""
|
||
|
|
||
|
#. type: Plain text
|
||
|
#: train405-help/tfollow1.txt:30
|
||
|
#, 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 <a cbot|expr>expression</a> <code>distance/5-1</code> in order to achieve this, together with the <code><a cbot|if>if</a></code> to test if the target is closer than 5m:"
|
||
|
msgstr ""
|
||
|
|
||
|
#. type: \s; block (usually verbatim code)
|
||
|
#: train405-help/tfollow1.txt:34
|
||
|
#, no-wrap
|
||
|
msgid ""
|
||
|
"<c/>if ( len < 5 ) // too close ?\n"
|
||
|
"{\n"
|
||
|
"\tmotor(len/5-1, len/5-1); // moves backward\n"
|
||
|
"}"
|
||
|
msgstr ""
|
||
|
|
||
|
#. type: Plain text
|
||
|
#: train405-help/tfollow1.txt:36
|
||
|
#, 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 <code><a cbot|direct>direction</a></code>. You can then adjust the speed of the right-hand and left-hand motor in order to follow the target:"
|
||
|
msgstr ""
|
||
|
|
||
|
#. type: \s; block (usually verbatim code)
|
||
|
#: train405-help/tfollow1.txt:48
|
||
|
#, no-wrap
|
||
|
msgid ""
|
||
|
"<c/>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\t<n/>it is up to you to fill in<c/>\n"
|
||
|
"\t}\n"
|
||
|
"}"
|
||
|
msgstr ""
|
||
|
|
||
|
#. type: Plain text
|
||
|
#: train405-help/tfollow1.txt:55
|
||
|
#, no-wrap
|
||
|
msgid ""
|
||
|
"When the target is on your left, <code>dir</code> takes a positive value, ranging between 0 and 180. The <a cbot|expr>expression</a> <code>1-dir/90</code> 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 ""
|
||
|
|
||
|
#. type: Image filename
|
||
|
#: train405-help/tfollow1.txt:56
|
||
|
#, no-wrap
|
||
|
msgid "radar2"
|
||
|
msgstr ""
|
||
|
|
||
|
#. type: Plain text
|
||
|
#: train405-help/tfollow1.txt:58
|
||
|
#, no-wrap
|
||
|
msgid "When the target is on the right side, <code>dir</code> is negative, ranging between 0 and -180."
|
||
|
msgstr ""
|
||
|
|
||
|
#. type: Plain text
|
||
|
#: train405-help/tfollow1.txt:60
|
||
|
#, no-wrap
|
||
|
msgid "The only task left for you now is to declare the <a cbot|var>variables</a> that you use in the program. <code>target</code> is of type <code>object</code>, whereas <code>dir</code> and <code>len</code> are of type <code>float</code>."
|
||
|
msgstr ""
|
||
|
|
||
|
#. type: \t; header
|
||
|
#: train405-help/tfollow1.txt:61
|
||
|
#, no-wrap
|
||
|
msgid "See also"
|
||
|
msgstr ""
|
||
|
|
||
|
#. type: Plain text
|
||
|
#: train405-help/tfollow1.txt:62
|
||
|
#, no-wrap
|
||
|
msgid "<a cbot>Programming</a>, <a cbot|type>types</a> and <a cbot|category>categories</a>."
|
||
|
msgstr ""
|
||
|
|
||
|
#
|
||
|
#~ 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:"
|