# 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:28+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 "Flying tower 1"
msgstr "Tour volante 1"
#. type: Resume-text
#: ../scene.txt:2
#, no-wrap
msgid "Make a flying defense tower out of a winged shooter."
msgstr "Programmer un robot volant de manière à obtenir une tour de défense volante"
#. type: ScriptName-text
#: ../scene.txt:3
#, no-wrap
msgid "Move"
msgstr "Tour1"
#. type: \b; header
#: ../help/help.E.txt:1
#, no-wrap
msgid "Objective"
msgstr "Objectif"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
msgid "As a defense against ants attacking from all sides, adapt the program Spider2
in order to fly at a given altitude."
msgstr "Le robot tireur volant est au fond d'un trou. Des fourmis agressives arrivent plus haut, de tous les côtés. Il faudra donc décoller jusqu'au niveau des fourmis, puis tirer tout en maintenant une altitude constante."
#. type: \t; header
#: ../help/help.E.txt:4
#, no-wrap
msgid "Program"
msgstr "Programme"
#. type: Plain text
#: ../help/help.E.txt:5
#, no-wrap
msgid "The program necessary for this task is somewhat similar to the program Spider2
that looks for the closest ant, turns towards it and fires:"
msgstr "Pour tuer les fourmis, on les cherche avec le radar()
, on tourne ensuite dans leur direction puis on tire une seconde. Le tout répété à l'infini avec une boucle while(true)
comme d'habitude:"
#. type: Source code
#: ../help/help.E.txt:7
#, no-wrap
msgid ""
"extern void object::Spider2()\n"
"{\t\n"
"\tobject item;\n"
"\t\n"
"\twhile (true)\n"
"\t{\n"
"\t\titem = radar(AlienSpider);\n"
"\t\tturn(direction(item.position));\n"
"\t\tfire(1);\n"
"\t}\n"
"}"
msgstr ""
"extern void object::Spider2()\n"
"{\t\n"
"\tobject item;\n"
"\t\n"
"\twhile (true)\n"
"\t{\n"
"\t\titem = radar(AlienSpider);\n"
"\t\tturn(direction(item.position));\n"
"\t\tfire(1);\n"
"\t}\n"
"}"
#. type: Plain text
#: ../help/help.E.txt:19
#, no-wrap
msgid "You can copy-paste it to the editor, and adapt it. Replace radar(AlienSpider); by radar(AlienAnt);, and write before the while
loop another loop that activates the jet beneath the winged shooter until the bot reaches an altitude of 20 meters."
msgstr "N'oubliez pas de déclarer la variable chose
, qui est de type object
"
#. type: Plain text
#: ../help/help.E.txt:21
#, no-wrap
msgid "The instruction jet()
controls the jet beneath winged bots. The number in brackets must range between -1
and 1
. jet(1); moves the bot upward with maximum speed. jet(-1); moves the bot downward with maximum speed, and jet(0); stabilizes the altitude. As the bot must reach a precise altitude, move it upward slowly with jet(0.2);, wait until it has reached the desired height, then stabilize the altitude with jet(0);."
msgstr "La commande jet()
active le réacteur qui se trouve sous les robots volants. La valeur qu'on donne entre parenthèses doit être comprise entre -1
et 1
. jet(1); fait monter le robot le plus vite possible. jet(-1); le fait descendre à la vitesse maximale, et jet(0); lui fait garder son altitude. Comme le robot doit atteindre une altitude précise, on le fait monter doucement avec jet(0.2);, on attend jusqu'à ce qu'il ait atteint l'altitude voulue, puis on le stabilise avec jet(0);."
#. type: Plain text
#: ../help/help.E.txt:23
#, no-wrap
msgid "In order to \"wait until it has reached the desired height\", we need a conditional loop: the instructions inside the loop will be repeated only as long as a certain condition is true. The altitude of the bot is given by position.z
. We already saw that position
gives the position of the bot. And a position is given by the three coordinates x, y and z: the x-axis is the axis west-east, the y-axis is the axis south-north, and the z-axis is the vertical axis. Therefore we must wait while position.z
is smaller than 20:"
msgstr "Pour \"attendre que le robot ait atteint l'altitude voulue\", il faut faire une boucle conditionnelle: ce qui se trouve à l'intérieur de la boucle se répète tant qu'une certaine condition est remplie. L'altitude du robot est donné par position.z
. Nous avons vu que position
donne la position du robot. Or une position est donnée par les trois coordonnées x, y et z de l'espace cartésien: l'axe des x est l'axe est-ouest, l'axe des y est l'axe nord-sud, et l'axe des z est l'axe vertical. Il suffit donc d'attendre tant que position.z
est plus petit que 20 mètres, ce qui s'écrit:"
#. type: Source code
#: ../help/help.E.txt:25
#, no-wrap
msgid ""
"\twhile (position.z < 20)\n"
"\t{\n"
"\t\twait(0.2);\n"
"\t}"
msgstr ""
"\twhile ( position.z < 20 )\n"
"\t{\n"
"\t\twait(0.2);\n"
"\t}"
#. type: Plain text
#: ../help/help.E.txt:30
#, no-wrap
msgid "After waiting 0.2 seconds, the program will check if the altitude is still below 20 meters. If this is the case, it will wait a little more, if not, the program continues after the loop, i.e. after the closing brace }
. Do not forget after the loop to stabilize the altitude with jet(0);."
msgstr "Toutes les 0.2 secondes, il va voir si l'altitude est encore inférieure à 20 mètres. Si oui, on attend encore. Si non, on continue. N'oubliez pas après cette boucle de stabiliser l'altitude avec jet(0);."
#. type: \t; header
#: ../help/help.E.txt:32
#, no-wrap
msgid "See also"
msgstr "Voir aussi"
#. type: Plain text
#: ../help/help.E.txt:33
#, no-wrap
msgid "Programming, types and categories."
msgstr "Exercice précédent, programmation, types et catégories."