colobot-data/levels/exercises/chapter007/level002/po/fr.po

441 lines
14 KiB
Plaintext
Raw Normal View History

2013-10-25 13:45:09 +00:00
# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR Free Software Foundation, Inc.
# This file is distributed under the same license as the PACKAGE package.
# ...
# B-CE <.>, 2019.
2013-10-25 13:45:09 +00:00
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
2014-09-20 20:29:05 +00:00
"POT-Creation-Date: DATE\n"
2013-10-25 13:45:09 +00:00
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: BCE <.>\n"
2013-10-25 13:45:09 +00:00
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fr\n"
2013-10-25 13:45:09 +00:00
"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"
2013-10-25 13:45:09 +00:00
#. type: Title-text
2015-05-11 19:54:24 +00:00
#: ../scene.txt:1
2013-10-25 13:45:09 +00:00
#, no-wrap
2014-09-20 20:29:05 +00:00
msgid "Remote control #4"
msgstr "Télécommande #4"
2013-10-25 13:45:09 +00:00
#. type: Resume-text
2015-05-11 19:54:24 +00:00
#: ../scene.txt:2
2013-10-25 13:45:09 +00:00
#, no-wrap
2014-09-20 20:29:05 +00:00
msgid "Remote control a bot without using an information exchange post by defining a class for the orders."
msgstr "Télécommandez un robot sans station relais en utilisant une classe définissant un ordre."
2013-10-25 13:45:09 +00:00
#. type: ScriptName-text
2015-05-11 19:54:24 +00:00
#: ../scene.txt:3
2013-10-25 13:45:09 +00:00
#, no-wrap
2014-09-20 20:29:05 +00:00
msgid "Remote4"
msgstr "Remote4"
2013-10-25 13:45:09 +00:00
#. type: \b; header
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:1
#, no-wrap
2013-10-25 13:45:09 +00:00
msgid "Exercise"
msgstr "Exercice"
2013-10-25 13:45:09 +00:00
#. type: Plain text
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:2
#, no-wrap
2014-09-20 20:29:05 +00:00
msgid "Remote control a slave robot without using an <a object|exchange>information exchange post</a>. The robot should pass over the 6 blue crosses. You must use a <code><a cbot|static>static</a></code> variable to pass the orders to the slave bot."
msgstr "Télécommandez un robot, sans utiliser une <a object|exchange>station relais</a>, pour qu'il passe par les 6 croix bleues. Il faudra utiliser une variable <code><a cbot|static>static</a></code> pour communiquer directement d'un programme à un autre."
2013-10-25 13:45:09 +00:00
#. type: Plain text
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:4
#, no-wrap
2015-05-11 19:54:24 +00:00
msgid "The two main actors of this exercise are:"
msgstr "Les 2 acteurs principaux de cet exercice sont:"
2013-10-25 13:45:09 +00:00
#. type: Bullet: '1)'
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:5
#, no-wrap
2014-09-20 20:29:05 +00:00
msgid "The <a object|botgr>wheeled grabber</a> without an energy pack and therefore immobile. This is the master you should program so it will transmit orders to the slave."
msgstr "Un <a object|botgr>robot préhenseur</a> sans batterie, donc immobile. C'est lui l'émetteur que vous devez programmer."
2013-10-25 13:45:09 +00:00
#. type: Bullet: '2)'
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:6
#, no-wrap
2014-09-20 20:29:05 +00:00
msgid "The slave <a object|bottr>practice bot</a> which is already programmed and just waits for orders from the master."
msgstr "Un <a object|bottr>robot d'entraînement</a> qui attend les ordres. Ce robot est déjà programmé."
2013-10-25 13:45:09 +00:00
#. type: \b; header
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:8
#, no-wrap
2013-10-25 13:45:09 +00:00
msgid "The slave"
msgstr "Le robot récepteur"
2013-10-25 13:45:09 +00:00
#. type: Plain text
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:9
#, no-wrap
msgid "First of all we must understand how the program of the slave works. The <a cbot|class>class</a> <code>order</code> contains two members: <code>m_type</code> is the order to execute (move or turn) and <code>m_param</code> is the distance to move or the rotation angle:"
2013-10-25 13:45:09 +00:00
msgstr ""
2014-09-20 20:29:05 +00:00
"Pour commencer, il faut comprendre le programme du robot d'entraînement qui attend les ordres.\n"
"Une <a cbot|class>classe</a> <code>order</code> contient deux variables: <code>global_type</code> détermine l'ordre à effectuer (avancer ou tourner) et <code>global_param</code> détermine la distance à avancer ou l'angle de rotation:"
2013-10-25 13:45:09 +00:00
#. type: Plain text
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:11
#, no-wrap
2013-10-25 13:45:09 +00:00
msgid "<c/><s/><a cbot|public>public</a> <a cbot|class>class</a> order"
msgstr "<c/><s/><a cbot|public>public</a> <a cbot|class>class</a> order"
2013-10-25 13:45:09 +00:00
2015-05-11 19:54:24 +00:00
#. type: Source code
#: ../help/help.E.txt:12
#, no-wrap
2013-10-25 13:45:09 +00:00
msgid ""
"{\n"
"\t<a cbot|int>int</a> m_type = <a cbot|nan>nan</a>;\n"
"\t<a cbot|float>float</a> m_param;\n"
"}"
msgstr ""
"{\n"
"\t<a cbot|int>int</a> global_type = <a cbot|nan>nan</a>;\n"
"\t<a cbot|float>float</a> global_param;\n"
"}"
2013-10-25 13:45:09 +00:00
#. type: Plain text
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:17
#, no-wrap
2014-09-20 20:29:05 +00:00
msgid "A second <a cbot|class>class</a> <code>exchange</code> contains the mechanism for exchanging the orders. We declare a <code><a cbot|static>static</a></code> class member <code>m_order</code> which will contain the order to be executed. The word <code>static</code> insures that the member <code>m_order</code> is shared between all instances of the <a cbot|class>class</a> exchange."
msgstr "Une deuxième <a cbot|class>classe</a> <code>exchange</code> contient le mécanisme d'échange et de mémorisation des ordres. Il faut d'abord déclarer une variable <code><a cbot|static>static</a></code> appelée ici <code>global_order</code>. Cette variable contient l'ordre à effectuer. L'instruction <code>static</code> permet à tous les robots d'accéder à la même variable unique."
2013-10-25 13:45:09 +00:00
#. type: Plain text
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:19
#, no-wrap
2013-10-25 13:45:09 +00:00
msgid "<c/><s/><a cbot|public>public</a> <a cbot|class>class</a> exchange"
msgstr "<c/><s/><a cbot|public>public</a> <a cbot|class>class</a> exchange"
2013-10-25 13:45:09 +00:00
2015-05-11 19:54:24 +00:00
#. type: Source code
#: ../help/help.E.txt:20
#, no-wrap
2013-10-25 13:45:09 +00:00
msgid ""
"{\n"
2014-09-20 20:29:05 +00:00
"\t<a cbot|static>static</a> <a cbot|private>private</a> order m_order = new order;"
2013-10-25 13:45:09 +00:00
msgstr ""
"{\n"
2014-09-20 20:29:05 +00:00
"\t<a cbot|static>static</a> <a cbot|private>private</a> order global_order = new order;"
2013-10-25 13:45:09 +00:00
#. type: Plain text
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:23
#, no-wrap
msgid "<n/>The <code>put</code> method will be used by the master robot for transmitting an order. As long as <code>m_order</code> is different from <code><a cbot|nan>nan</a></code>, the slave has not finished the order and the <code>put</code> method will return <code>false</code> and will do nothing:"
2014-09-20 20:29:05 +00:00
msgstr "Une première méthode <code>put</code> sera utilisée par le robot émetteur pour donner un ordre. Si l'ordre est différent de <code><a cbot|nan>nan</a></code>, cela signifie qu'il n'a pas encore été effectué par le robot récepteur. Dans ce cas, la méthode <code>get</code> ne fait rien et retourne <code>false</code>:"
2013-10-25 13:45:09 +00:00
#. type: Plain text
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:25
#, no-wrap
2014-09-20 20:29:05 +00:00
msgid "<c/><s/>\t<a cbot|synchro>synchronized</a> <a cbot|bool>bool</a> put(order a)"
msgstr "<c/><s/>\t<a cbot|synchro>synchronized</a> <a cbot|bool>bool</a> put(order a)"
2013-10-25 13:45:09 +00:00
2015-05-11 19:54:24 +00:00
#. type: Source code
#: ../help/help.E.txt:26
#, no-wrap
2013-10-25 13:45:09 +00:00
msgid ""
"\t{\n"
"\t\tif ( m_order.m_type == nan )\n"
"\t\t{\n"
"\t\t\tm_order = a;\n"
"\t\t\treturn true;\n"
"\t\t}\n"
"\t\telse\n"
"\t\t{\n"
"\t\t\treturn false;\n"
"\t\t}\n"
"\t}"
msgstr ""
"\t{\n"
"\t\tif ( global_order.global_type == nan )\n"
"\t\t{\n"
"\t\t\tglobal_order = a;\n"
"\t\t\treturn true;\n"
"\t\t}\n"
"\t\telse\n"
"\t\t{\n"
"\t\t\treturn false;\n"
"\t\t}\n"
"\t}"
2013-10-25 13:45:09 +00:00
#. type: Plain text
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:38
#, no-wrap
2014-09-20 20:29:05 +00:00
msgid "Another method <code>get</code> will be used by the slave to retrieve the orders. This method returns the order to be executed:"
msgstr "Une deuxième méthode <code>get</code> sera utilisée par le robot récepteur pour prendre connaissance d'un ordre à effectuer:"
2013-10-25 13:45:09 +00:00
#. type: Plain text
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:40
#, no-wrap
2013-10-25 13:45:09 +00:00
msgid "<c/><s/>\t<a cbot|synchro>synchronized</a> order get()"
msgstr "<c/><s/>\t<a cbot|synchro>synchronized</a> order get()"
2013-10-25 13:45:09 +00:00
2015-05-11 19:54:24 +00:00
#. type: Source code
#: ../help/help.E.txt:41
#, no-wrap
2013-10-25 13:45:09 +00:00
msgid ""
"\t{\n"
"\t\treturn m_order;\n"
"\t}"
msgstr ""
"\t{\n"
"\t\treturn global_order;\n"
"\t}"
2013-10-25 13:45:09 +00:00
#. type: Plain text
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:45
#, no-wrap
2014-09-20 20:29:05 +00:00
msgid "A third method <code>delete</code> will be used by the slave to indicate that the order has been executed:"
msgstr "Une troisième méthode <code>delete</code> sera utilisée par le robot récepteur pour indiquer que l'ordre est terminé:"
2013-10-25 13:45:09 +00:00
#. type: Plain text
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:47
#, no-wrap
2013-10-25 13:45:09 +00:00
msgid "<c/><s/>\t<a cbot|synchro>synchronized</a> void delete()"
msgstr "<c/><s/>\t<a cbot|synchro>synchronized</a> void delete()"
2013-10-25 13:45:09 +00:00
2015-05-11 19:54:24 +00:00
#. type: Source code
#: ../help/help.E.txt:48
#, no-wrap
2013-10-25 13:45:09 +00:00
msgid ""
"\t{\n"
"\t\tm_order.m_type = nan;\n"
"\t}\n"
"}"
msgstr ""
"\t{\n"
"\t\tglobal_order.global_type = nan;\n"
"\t}\n"
"}"
2013-10-25 13:45:09 +00:00
#. type: Plain text
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:53
#, no-wrap
2014-09-20 20:29:05 +00:00
msgid "The main program of the slave contains an instance of the class <code>exchange</code> called <code>list</code>. We put () after the word <code>list</code> in order to create an instance of the class <code>exchange</code>."
msgstr "Le programme principal peut maintenant exister. La variable <code>list</code> est de type <code>exchange</code>, qui est une <a cbot|class>classe</a>. Il faut utiliser l'instruction <code><a cbot|new>new</a></code> pour créer immédiatement une instance."
2013-10-25 13:45:09 +00:00
#. type: Plain text
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:55
#, no-wrap
2013-10-25 13:45:09 +00:00
msgid "<c/><s/><a cbot|extern>extern</a> void object::Slave3( )"
msgstr "<c/><s/><a cbot|extern>extern</a> void object::Slave3( )"
2013-10-25 13:45:09 +00:00
2015-05-11 19:54:24 +00:00
#. type: Source code
#: ../help/help.E.txt:56
#, no-wrap
2013-10-25 13:45:09 +00:00
msgid ""
"{\n"
"\texchange list();\n"
"\torder todo;"
msgstr ""
"{\n"
"\texchange list = new exchange();\n"
"\torder todo;"
2013-10-25 13:45:09 +00:00
#. type: Plain text
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:60
#, no-wrap
2014-09-20 20:29:05 +00:00
msgid "The outer <code>while</code> loop lasts for ever. The inner <code>while</code> loop waits for an order by using the <code>get</code> method of the <code>exchange</code> class. As soon as <code>get</code> returns a value different from <code>nan</code>, the while loop stops."
msgstr "La première boucle <code>while</code> exécute les ordres à l'infini. La deuxième boucle <code>while</code> attend un ordre en exécutant la méthode <code>get</code> de la classe <code>exchange</code>. Dès qu'un ordre contenant une valeur différente de <code>nan</code> est reçu, la boucle est stoppée."
2013-10-25 13:45:09 +00:00
#. type: Plain text
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:62
#, no-wrap
2013-10-25 13:45:09 +00:00
msgid "<c/><s/>\t<a cbot|while>while</a> ( true )"
msgstr "<c/><s/>\t<a cbot|while>while</a> ( true )"
2013-10-25 13:45:09 +00:00
2015-05-11 19:54:24 +00:00
#. type: Source code
#: ../help/help.E.txt:63
#, no-wrap
2013-10-25 13:45:09 +00:00
msgid ""
"\t{\n"
"\t\t<a cbot|while>while</a> ( true )\n"
"\t\t{\n"
"\t\t\ttodo = list.get();\n"
"\t\t\tif ( todo.m_type != nan ) break;\n"
"\t\t\twait(1);\n"
"\t\t}"
msgstr ""
"\t{\n"
"\t\t<a cbot|while>while</a> ( true )\n"
"\t\t{\n"
"\t\t\ttodo = list.get();\n"
"\t\t\tif ( todo.global_type != nan ) break;\n"
"\t\t\twait(1);\n"
"\t\t}"
2013-10-25 13:45:09 +00:00
#. type: Plain text
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:71
#, no-wrap
2014-09-20 20:29:05 +00:00
msgid "Now we have received the order in the <code>todo</code> variable. All we have to do is execute it:"
msgstr "Il ne reste plus qu'à exécuter l'ordre reçu:"
2013-10-25 13:45:09 +00:00
#. type: Plain text
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:73
#, no-wrap
2013-10-25 13:45:09 +00:00
msgid "<c/><s/>\t\tif ( todo.m_type == 1 )"
msgstr "<c/><s/>\t\tif ( todo.global_type == 1 )"
2013-10-25 13:45:09 +00:00
2015-05-11 19:54:24 +00:00
#. type: Source code
#: ../help/help.E.txt:74
#, no-wrap
2013-10-25 13:45:09 +00:00
msgid ""
"\t\t{\n"
"\t\t\tmove(todo.m_param);\n"
"\t\t}\n"
"\t\telse if ( todo.m_type == 2 )\n"
"\t\t{\n"
"\t\t\tturn(todo.m_param);\n"
"\t\t}\n"
"\t\telse\n"
"\t\t{\n"
"\t\t\tmessage(\"Unknown order\");\n"
"\t\t}"
msgstr ""
"\t\t{\n"
"\t\t\tmove(todo.global_param);\n"
"\t\t}\n"
"\t\telse if ( todo.global_type == 2 )\n"
"\t\t{\n"
"\t\t\tturn(todo.global_param);\n"
"\t\t}\n"
"\t\telse\n"
"\t\t{\n"
"\t\t\tmessage(\"Unknown order\");\n"
"\t\t}"
2013-10-25 13:45:09 +00:00
#. type: Plain text
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:86
#, no-wrap
msgid "As soon as the execution of the order is finished, we must call the <code>delete</code> method so the master knows that another order can be sent:"
2014-09-20 20:29:05 +00:00
msgstr "Dès que l'exécution de l'ordre est terminée, il faut appeler la méthode <code>delete</code> pour indiquer au robot émetteur qu'il peut envoyer l'ordre suivant:"
2013-10-25 13:45:09 +00:00
#. type: Plain text
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:88
#, no-wrap
2013-10-25 13:45:09 +00:00
msgid "<c/><s/>\t\tlist.delete();"
msgstr "<c/><s/>\t\tlist.delete();"
2013-10-25 13:45:09 +00:00
2015-05-11 19:54:24 +00:00
#. type: Source code
#: ../help/help.E.txt:89
#, no-wrap
2013-10-25 13:45:09 +00:00
msgid ""
"\t}\n"
"}"
msgstr ""
"\t}\n"
"}"
2013-10-25 13:45:09 +00:00
#. type: \b; header
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:92
#, no-wrap
2013-10-25 13:45:09 +00:00
msgid "The master"
msgstr "Le robot émetteur"
2013-10-25 13:45:09 +00:00
#. type: Plain text
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:93
#, no-wrap
2014-09-20 20:29:05 +00:00
msgid "In the master we write an function called <code>SendOrder</code> which will send an order to the slave:"
msgstr "Dans le robot émetteur, il est plus simple d'écrire une procédure <code>SendOrder</code> qui se charge d'envoyer un ordre au robot récepteur:"
2013-10-25 13:45:09 +00:00
#. type: Plain text
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:95
#, no-wrap
2013-10-25 13:45:09 +00:00
msgid "<c/><s/>void object::SendOrder(float order, float param)"
msgstr "<c/><s/>void object::SendOrder(float order, float param)"
2013-10-25 13:45:09 +00:00
2015-05-11 19:54:24 +00:00
#. type: Source code
#: ../help/help.E.txt:96
#, no-wrap
2013-10-25 13:45:09 +00:00
msgid ""
"{\n"
"\texchange list();\n"
"\torder todo();\n"
"\t\n"
"\ttodo.m_type = order;\n"
"\ttodo.m_param = param;\n"
"\t\n"
"\twhile ( list.put(todo) == false )\n"
"\t{\n"
"\t\twait(1);\n"
"\t}\n"
"}"
msgstr ""
"{\n"
"\texchange list = new exchange();\n"
"\torder todo();\n"
"\t\n"
"\ttodo.global_type = order;\n"
"\ttodo.global_param = param;\n"
"\t\n"
"\twhile ( list.put(todo) == false )\n"
"\t{\n"
"\t\twait(1);\n"
"\t}\n"
"}"
2013-10-25 13:45:09 +00:00
#. type: Plain text
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:109
#, no-wrap
2013-10-25 13:45:09 +00:00
msgid ""
2014-09-20 20:29:05 +00:00
"The <code>while</code> loop waits until a pending order has been terminated, that is the slaved has exited from the <code>get</code> method and the <code>delete</code> method has been called.\n"
2013-10-25 13:45:09 +00:00
"Now the main program of the master is very simple:"
msgstr ""
2014-09-20 20:29:05 +00:00
"La boucle <code>while</code> attend qu'un éventuel ordre précédent soit terminé, ce qui arrive lorsque le robot récepteur exécute la méthode <code>delete</code>.\n"
"Le programme principal est finalement d'une simplicité enfantine:"
2013-10-25 13:45:09 +00:00
#. type: Plain text
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:112
#, no-wrap
2013-10-25 13:45:09 +00:00
msgid "<c/><s/>extern void object::Remote4( )"
msgstr "<c/><s/>extern void object::Remote4( )"
2013-10-25 13:45:09 +00:00
2015-05-11 19:54:24 +00:00
#. type: Source code
#: ../help/help.E.txt:113
#, no-wrap
2013-10-25 13:45:09 +00:00
msgid ""
"{\n"
"\tSendOrder(1, 20); // move(20);\n"
"\tSendOrder(2, 90); // turn(90);\n"
"\tSendOrder(1, 20); // move(20);\n"
"\tSendOrder(2, 90); // turn(90);\n"
"\tSendOrder(1, 10); // move(10);\n"
"\tSendOrder(2, 90); // turn(90);\n"
"\tSendOrder(1, 10); // move(10);\n"
"\tSendOrder(2,-90); // turn(-90);\n"
"\tSendOrder(1, 10); // move(10);\n"
"}"
msgstr ""
"{\n"
"\tSendOrder(1, 20); // move(20);\n"
"\tSendOrder(2, 90); // turn(90);\n"
"\tSendOrder(1, 20); // move(20);\n"
"\tSendOrder(2, 90); // turn(90);\n"
"\tSendOrder(1, 10); // move(10);\n"
"\tSendOrder(2, 90); // turn(90);\n"
"\tSendOrder(1, 10); // move(10);\n"
"\tSendOrder(2,-90); // turn(-90);\n"
"\tSendOrder(1, 10); // move(10);\n"
"}"
2013-10-25 13:45:09 +00:00
#. type: Plain text
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:125
#, no-wrap
msgid "<format key><key help/></format> show these instruction at any time."
2014-09-20 20:29:05 +00:00
msgstr "<format key><key help/></format> permet de revoir ces instructions en tout temps!"
2013-10-25 13:45:09 +00:00
#. type: \t; header
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:128
#, no-wrap
2013-10-25 13:45:09 +00:00
msgid "See also"
msgstr "Voir aussi"
2013-10-25 13:45:09 +00:00
#. type: Plain text
2015-05-11 19:54:24 +00:00
#: ../help/help.E.txt:129
#, no-wrap
2013-10-25 13:45:09 +00:00
msgid "<a command>Controls</a> and <a cbot>programming</a>."
msgstr "<a tremote3>Exercice précédent</a> et <a cbot>programmation</a>."