409 lines
10 KiB
Plaintext
409 lines
10 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
|
|
#: train306.languagecode:1
|
|
#, no-wrap
|
|
msgid "E"
|
|
msgstr "F"
|
|
|
|
#
|
|
#. type: Title-text
|
|
#: train306/scene.txt:1
|
|
#, no-wrap
|
|
msgid "train306:Labyrinth 1"
|
|
msgstr "train306:Labyrinthe 1"
|
|
|
|
#
|
|
#. type: Resume-text
|
|
#: train306/scene.txt:2
|
|
#, no-wrap
|
|
msgid "train306:Teach your bot how to find its way out of the labyrinth."
|
|
msgstr "train306:Programmez un robot pour qu'il avance sans se cogner dans un labyrinthe."
|
|
|
|
#
|
|
#. type: ScriptName-text
|
|
#: train306/scene.txt:3
|
|
#, no-wrap
|
|
msgid "train306:Labyrinth"
|
|
msgstr "train306:Labyrinthe"
|
|
|
|
#. type: \b; header
|
|
#: train306-help/tlaby1.txt:1
|
|
#, no-wrap
|
|
msgid "Exercise"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: train306-help/tlaby1.txt:3
|
|
#, no-wrap
|
|
msgid "Program the bot so that it will find its way without hitting the walls of the labyrinth. We suppose that you do not know the configuration of the labyrinth, but there are no bifurcations, and no dead-ends. The labyrinth is made of squares measuring 5m each."
|
|
msgstr ""
|
|
|
|
#. type: \b; header
|
|
#: train306-help/tlaby1.txt:4
|
|
#, no-wrap
|
|
msgid "The instruction <code>radar</code>"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: train306-help/tlaby1.txt:6
|
|
#, no-wrap
|
|
msgid "The instruction <c/><a cbot|radar>radar</a>(Barrier, 0, 45, 0, 5);<n/> will find any <a object|barrier>barrier</a> in front of the radar that is closer than 5m. Let us take a closer look at the five parameters used:"
|
|
msgstr ""
|
|
|
|
#. type: \s; block (usually verbatim code)
|
|
#: train306-help/tlaby1.txt:8
|
|
#, no-wrap
|
|
msgid "<code>Barrier</code>"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: train306-help/tlaby1.txt:9
|
|
#, no-wrap
|
|
msgid "<a cbot|category>Category</a> of the object that the radar must look for, i.e. a barrier."
|
|
msgstr ""
|
|
|
|
#. type: \s; block (usually verbatim code)
|
|
#: train306-help/tlaby1.txt:11 train306-help/tlaby1.txt:17
|
|
#, no-wrap
|
|
msgid "<code>0</code>"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: train306-help/tlaby1.txt:12
|
|
#, no-wrap
|
|
msgid "Direction of the radar. <code>0</code> means that the radar must search straight forward."
|
|
msgstr ""
|
|
|
|
#. type: \s; block (usually verbatim code)
|
|
#: train306-help/tlaby1.txt:14
|
|
#, no-wrap
|
|
msgid "<code>45</code>"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: train306-help/tlaby1.txt:15
|
|
#, no-wrap
|
|
msgid "Opening angle in degrees. With an opening angle of 45 degrees, barriers situated between 22.5 degrees to the left and 22.5 degrees to the right will be detected."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: train306-help/tlaby1.txt:18
|
|
#, no-wrap
|
|
msgid "Minimum detection distance. <code>0</code> means that even object that are very close to the bot will be detected."
|
|
msgstr ""
|
|
|
|
#. type: \s; block (usually verbatim code)
|
|
#: train306-help/tlaby1.txt:20
|
|
#, no-wrap
|
|
msgid "<code>5</code>"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: train306-help/tlaby1.txt:21
|
|
#, no-wrap
|
|
msgid "Maximum detection range. Any barrier situated beyond <code>5</code> meters will not be detected."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: train306-help/tlaby1.txt:23
|
|
#, no-wrap
|
|
msgid "To take another example, <c/><a cbot|radar>radar</a>(Barrier, 90, 45, 0, 5);<n/> will direct the radar 90 degrees to the left, in order to test if the way to the left is free."
|
|
msgstr ""
|
|
|
|
#. type: Image filename
|
|
#: train306-help/tlaby1.txt:24
|
|
#, no-wrap
|
|
msgid "tlaby1"
|
|
msgstr ""
|
|
|
|
#. type: \b; header
|
|
#: train306-help/tlaby1.txt:25
|
|
#, no-wrap
|
|
msgid "General principle"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: train306-help/tlaby1.txt:27
|
|
#, no-wrap
|
|
msgid "The program must only take care of one square portion of the labyrinth. You will have to execute it several times in order to arrive at the finishing pad.\n"
|
|
msgstr ""
|
|
|
|
#. type: Bullet: 'o'
|
|
#: train306-help/tlaby1.txt:27
|
|
#, no-wrap
|
|
msgid "If there is nothing in front, move forward."
|
|
msgstr ""
|
|
|
|
#. type: Bullet: 'o'
|
|
#: train306-help/tlaby1.txt:28
|
|
#, no-wrap
|
|
msgid "If there is nothing on the left side, quarter turn left, move forward."
|
|
msgstr ""
|
|
|
|
#. type: Bullet: 'o'
|
|
#: train306-help/tlaby1.txt:29
|
|
#, no-wrap
|
|
msgid "If there is nothing on the right side, quarter turn right, move forward."
|
|
msgstr ""
|
|
|
|
#. type: Bullet: '1)'
|
|
#: train306-help/tlaby1.txt:31
|
|
#, no-wrap
|
|
msgid "First of all declare three <a cbot|var>variables</a> of type <code><a cbot|object>object</a></code>, that we call <code>front</code>, <code>left</code> and <code>right</code>. Variables of this type can contain the description of any object, for example of a barrier found by the radar."
|
|
msgstr ""
|
|
|
|
#. type: \s; block (usually verbatim code)
|
|
#: train306-help/tlaby1.txt:33
|
|
#, no-wrap
|
|
msgid "<c/>\tobject front, left, right;<n/>"
|
|
msgstr ""
|
|
|
|
#. type: Bullet: '2)'
|
|
#: train306-help/tlaby1.txt:34
|
|
#, no-wrap
|
|
msgid "Look for barriers in all three directions, and put the result of the <code>radar</code> instruction into the three variables defined at point 1). If the radar finds nothing, the variable will contain the value <code><a cbot|null>null</a></code>."
|
|
msgstr ""
|
|
|
|
#. type: \s; block (usually verbatim code)
|
|
#: train306-help/tlaby1.txt:38
|
|
#, no-wrap
|
|
msgid ""
|
|
"<c/>\tfront = radar(Barrier, 0, 45, 0, 5);\n"
|
|
"\tleft = radar(Barrier, 90, 45, 0, 5);\n"
|
|
"\tright = radar(Barrier, -90, 45, 0, 5);"
|
|
msgstr ""
|
|
|
|
#. type: Bullet: '3)'
|
|
#: train306-help/tlaby1.txt:39
|
|
#, no-wrap
|
|
msgid "Test if the way is free in front of the bot with the instruction <code><a cbot|if>if</a></code>. If the test is true, the instructions in braces <code>{ }</code> will be executed, otherwise the execution will resume after the closing brace <code>}</code>."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: train306-help/tlaby1.txt:41
|
|
#, no-wrap
|
|
msgid "The instruction <code>return</code> leaves the program: the job is done."
|
|
msgstr ""
|
|
|
|
#. type: \s; block (usually verbatim code)
|
|
#: train306-help/tlaby1.txt:46
|
|
#, no-wrap
|
|
msgid ""
|
|
"<c/>if ( front == null )\n"
|
|
"{\n"
|
|
"\tmove(5);\n"
|
|
"\treturn;\n"
|
|
"}"
|
|
msgstr ""
|
|
|
|
#. type: Bullet: '4)'
|
|
#: train306-help/tlaby1.txt:47
|
|
#, no-wrap
|
|
msgid "Test if it is possible to turn left; if so, turn left with the instruction <code><a cbot|turn>turn</a></code> and move 5m forward."
|
|
msgstr ""
|
|
|
|
#. type: \s; block (usually verbatim code)
|
|
#: train306-help/tlaby1.txt:54
|
|
#, no-wrap
|
|
msgid ""
|
|
"<c/>if ( left == null )\n"
|
|
"{\n"
|
|
"\tturn(90);\n"
|
|
"\tmove(5);\n"
|
|
"\treturn;\n"
|
|
"}"
|
|
msgstr ""
|
|
|
|
#. type: Bullet: '5)'
|
|
#: train306-help/tlaby1.txt:55
|
|
#, no-wrap
|
|
msgid "Test if it is possible to turn right."
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: train306-help/tlaby1.txt:57
|
|
#, no-wrap
|
|
msgid " ..."
|
|
msgstr ""
|
|
|
|
#. type: \b; header
|
|
#: train306-help/tlaby1.txt:58
|
|
#, no-wrap
|
|
msgid "Attention"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: train306-help/tlaby1.txt:60
|
|
#, no-wrap
|
|
msgid "The instruction <code>if ( )</code> must never be followed by a <a cbot|term>semicolon</a>."
|
|
msgstr ""
|
|
|
|
#. type: \t; header
|
|
#: train306-help/tlaby1.txt:61
|
|
#, no-wrap
|
|
msgid "See also"
|
|
msgstr ""
|
|
|
|
#. type: Plain text
|
|
#: train306-help/tlaby1.txt:62
|
|
#, no-wrap
|
|
msgid "<a cbot>Programming</a>, <a cbot|type>types</a> and <a cbot|category>categories</a>."
|
|
msgstr ""
|
|
|
|
#
|
|
#~ msgid "train300:Fundamentals"
|
|
#~ msgstr "train300:Base"
|
|
|
|
#
|
|
#~ msgid "train300:"
|
|
#~ msgstr "train300:"
|
|
|
|
#
|
|
#~ msgid "train301:Follow a path"
|
|
#~ msgstr "train301:Suivre un chemin"
|
|
|
|
#
|
|
#~ msgid "train301:"
|
|
#~ msgstr "train301:"
|
|
|
|
#
|
|
#~ msgid "train301:Move the bot along a given path."
|
|
#~ msgstr "train301:Déplacer un robot le long d'une trajectoire donnée."
|
|
|
|
#
|
|
#~ msgid "train301:Move"
|
|
#~ msgstr "train301:Déplace"
|
|
|
|
#
|
|
#~ msgid "train302:Follow with variables"
|
|
#~ msgstr "train302:Suivre mieux"
|
|
|
|
#
|
|
#~ msgid "train302:"
|
|
#~ msgstr "train302:"
|
|
|
|
#
|
|
#~ msgid "train302:Use variables in order to store the parameters of the path."
|
|
#~ msgstr "train302:Déplacer un robot le long d'une trajectoire donnée, en utilisant des variables."
|
|
|
|
#
|
|
#~ msgid "train302:Move"
|
|
#~ msgstr "train302:Déplace"
|
|
|
|
#
|
|
#~ msgid "train303:Massacre"
|
|
#~ msgstr "train303:Massacre"
|
|
|
|
#
|
|
#~ msgid "train303:"
|
|
#~ msgstr "train303:"
|
|
|
|
#
|
|
#~ msgid "train303:Use a loop in order to destroy six targets."
|
|
#~ msgstr "train303:Détruire six cibles à l'aide d'une boucle."
|
|
|
|
#
|
|
#~ msgid "train303:Go"
|
|
#~ msgstr "train303:Go"
|
|
|
|
#
|
|
#~ msgid "train304:Exchange posts 1"
|
|
#~ msgstr "train304:Bornes 1"
|
|
|
|
#
|
|
#~ msgid "train304:"
|
|
#~ msgstr "train304:"
|
|
|
|
#
|
|
#~ msgid "train304:Collect valuable information from information exchange posts."
|
|
#~ msgstr "train304:Récolter une information de direction, afin d'apprendre le concept de variable."
|
|
|
|
#
|
|
#~ msgid "train304:Info"
|
|
#~ msgstr "train304:Suivre"
|
|
|
|
#
|
|
#~ msgid "train305:Exchange posts 2"
|
|
#~ msgstr "train305:Bornes 2"
|
|
|
|
#
|
|
#~ msgid "train305:"
|
|
#~ msgstr "train305:"
|
|
|
|
#
|
|
#~ msgid "train305:Collect more valuable information from information exchange posts."
|
|
#~ msgstr "train305:Récolter des informations de direction et de distance, afin d'apprendre le concept de variable."
|
|
|
|
#
|
|
#~ msgid "train305:Info"
|
|
#~ msgstr "train305:Suivre"
|
|
|
|
#
|
|
#~ msgid "train306:"
|
|
#~ msgstr "train306:"
|
|
|
|
#
|
|
#~ msgid "train307:Labyrinth 2"
|
|
#~ msgstr "train307:Labyrinthe 2"
|
|
|
|
#
|
|
#~ msgid "train307:"
|
|
#~ msgstr "train307:"
|
|
|
|
#
|
|
#~ msgid "train307:Teach your bot to do the same job in a more autonomous way."
|
|
#~ msgstr "train307:Programmez un robot pour qu'il avance sans se cogner dans un labyrinthe."
|
|
|
|
#
|
|
#~ msgid "train307:Labyrinth"
|
|
#~ msgstr "train307:Labyrinthe"
|
|
|
|
#
|
|
#~ msgid "train308:The gold digger"
|
|
#~ msgstr "train308:Le chercheur d'or"
|
|
|
|
#
|
|
#~ msgid "train308:"
|
|
#~ msgstr "train308:"
|
|
|
|
#
|
|
#~ msgid "train308:Instruct your bot to search a zone for subsoil resources."
|
|
#~ msgstr "train308:Recherche de minerai en sous-sol en programmant un robot pour quadriller une zone."
|
|
|
|
#
|
|
#~ msgid "train308:Digger"
|
|
#~ msgstr "train308:Cherche"
|
|
|
|
#
|
|
#~ msgid "train309:Remote control #1"
|
|
#~ msgstr "train309:Télécommande #1"
|
|
|
|
#
|
|
#~ msgid "train309:"
|
|
#~ msgstr "train309:"
|
|
|
|
#
|
|
#~ msgid "train309:Remote control a robot using an information exchange post, so it will transport uranium ore."
|
|
#~ msgstr "train309:Télécommandez un robot par le biais d'une borne d'information."
|
|
|
|
#
|
|
#~ msgid "train309:remote"
|
|
#~ msgstr "train309:Remote"
|