colobot-data/levels/exercises/chapter007/level001/po/de.po

358 lines
13 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"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: DATE\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: de\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: Title-text
#: ../scene.txt:1
#, no-wrap
msgid "Remote control #3"
msgstr "Fernsteuerung 3"
#. type: Resume-text
#: ../scene.txt:2
#, no-wrap
msgid "Remote control a bot without using an information exchange post by using a string."
msgstr "Steuern Sie einen Roboter ohne Infoserver fern."
#. type: ScriptName-text
#: ../scene.txt:3
#, no-wrap
msgid "Remote3"
msgstr "Steuerung3"
#. type: \b; header
#: ../help/help.E.txt:1
#, no-wrap
msgid "Exercice"
msgstr "Übung"
#. type: Plain text
#: ../help/help.E.txt:2
#, no-wrap
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 <a cbot|string>string</a> to pass the orders to the slave bot. This string contains the order the slave shoud execute, for exemple <code>\"move(20)\"</code>. You can see that this is the same syntax as used in the CBOT language but we could have chosen any other syntax for exemple something like <code>\"advance=20\"</code>. The string will be a <code><a cbot|static>static</a></code> class member that will be used to communicate from the master to the slave."
msgstr "Steuern Sie einen Roboter fern, diesmal jedoch ohne Benutzung eines <a object|exchange>Infoservers</a>. Der Roboter soll die 6 blauen Kreuze passieren. Benutzen Sie einen <a cbot|string>String</a>, um Befehle zum Slave-Roboter zu übermitteln. Dieser String enthält den Befehl, den der Slave ausführen soll, zum Beispiel <code>\"move(20)\"</code>. Sie sehen, dass das die gleiche Syntax ist, die auch in der CBOT-Sprache Verwendung findet, aber wir hätten auch jede beliebige andere Syntax wählen können. Etwas wie <code>\"advance=20\"</code> wäre ebenfalls möglich. Der String wird als <code><a cbot|static>statische</a></code> Klassenvariable deklariert und so für die Kommunikation zwischen Master und Slave benutzt."
#. type: Plain text
#: ../help/help.E.txt:4
#, no-wrap
msgid "The two main actors of this exercise are:"
msgstr "Die Hauptakteure dieser Übung sind:"
#. type: Bullet: '1)'
#: ../help/help.E.txt:5
#, no-wrap
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 "Der <a object|botgr>Radtransporter</a>, der keine Batterie hat und dadurch unbeweglich ist. Dies ist der Master den Sie so programmieren sollen, dass er Befehle zum Slave sendet."
#. type: Bullet: '2)'
#: ../help/help.E.txt:6
#, no-wrap
msgid "The slave <a object|bottr>practice bot</a> which is already programmed and just waits for orders from the master."
msgstr "Der Slave-<a object|bottr>Übungsroboter</a> ist schon mit einer Programmierung versehen und wartet auf Befehle vom Master."
#. type: \b; header
#: ../help/help.E.txt:8
#, no-wrap
msgid "The slave"
msgstr "Der Slave"
#. type: Plain text
#: ../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>exchange</code> contains the mechanism for exchaning 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 "Zu allererst müssen wir klären, wie der Slave funktioniert. Die <a cbot|class>Klasse</a> <code>exchange</code> enthält Mechanismen zum Austausch von Befehlen. Wir deklarieren eine <code><a cbot|static>statische</a></code> Klassenvariable <code>m_order</code>, die den auszuführenden Befehl enthalten wird. Das Wort <code>static</code> stellt sicher, dass auf die Variable <code>m_order</code> von allen Instanzen der <a cbot|class>Klasse</a> <code>exchange</code> zugegriffen werden kann."
#. type: Plain text
#: ../help/help.E.txt:11
#, no-wrap
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"
#. type: Source code
#: ../help/help.E.txt:12
#, no-wrap
msgid ""
"{\n"
"\t<a cbot|static>static</a> <a cbot|private>private</a> <a cbot|string>string</a> m_order = \"\";"
msgstr ""
"{\n"
"\t<a cbot|static>static</a> <a cbot|private>private</a> <a cbot|string>string</a> m_order = \"\";"
#. type: Plain text
#: ../help/help.E.txt:15
#, no-wrap
msgid "<n/>The <code>put</code> method will be used by the master robot for transmitting an order. As long as the string <code>m_order</code> is not empty, the slave has not finished the order and the <code>put</code> method will return <code>false</code> and will do nothing."
msgstr "<n/>Die Methode <code>put</code> wird vom Master dazu verwendet, um einen Befehl zu übermitteln. Solange der String <code>m_order</code> nicht leer ist, hat der Slave seinen Befehl noch nicht ausgeführt und die Methode <code>put</code> liefert <code><a cbot|false>false</a></code> zurück und tut sonst nichts."
#. type: Plain text
#: ../help/help.E.txt:17
#, no-wrap
msgid "<c/><s/>\t<a cbot|synchro>synchronized</a> <a cbot|bool>bool</a> put(string order)"
msgstr "<c/><s/>\t<a cbot|synchro>synchronized</a> <a cbot|bool>bool</a> put(<a cbot|string>string</a> order)"
#. type: Source code
#: ../help/help.E.txt:18
#, no-wrap
msgid ""
"\t{\n"
"\t\tif ( m_order == \"\" )\n"
"\t\t{\n"
"\t\t\tm_order = order;\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\t<a cbot|if>if</a> ( m_order == \"\" )\n"
"\t\t{\n"
"\t\t\tm_order = order;\n"
"\t\t\t<a cbot|return>return</a> true;\n"
"\t\t}\n"
"\t\t<a cbot|if>else</a>\n"
"\t\t{\n"
"\t\t\t<a cbot|return>return</a> <a cbot|false>false</a>;\n"
"\t\t}\n"
"\t}"
#. type: Plain text
#: ../help/help.E.txt:30
#, no-wrap
msgid "Another method <code>get</code> will be used by the slave to retrieve the orders. This method returns the string contained in <code>m_order</code> and empties it, so a new order can be accepted:"
msgstr "Eine weitere Methode, <code>get</code>, wird vom Slave dazu verwendet, Befehle abzuholen. Die Methode liefert den <a cbot|string>String</a>, der in <code>m_order</code> enthalten ist, zurück und leert ihn. Daraufhin kann ein neuer Befehl entgegengenommen werden:"
#. type: Plain text
#: ../help/help.E.txt:32
#, no-wrap
msgid "<c/><s/>\t<a cbot|synchro>synchronized</a> string get()"
msgstr "<c/><s/>\t<a cbot|synchro>synchronized</a> string get()"
#. type: Source code
#: ../help/help.E.txt:33
#, no-wrap
msgid ""
"\t{\n"
"\t\tstring ret = m_order;\n"
"\t\tm_order = \"\";\n"
"\t\treturn ret;\n"
"\t}\n"
"}"
msgstr ""
"\t{\n"
"\t\t<a cbot|type>string</a> ret = m_order;\n"
"\t\tm_order = \"\";\n"
"\t\t<a cbot|return>return</a> ret;\n"
"\t}\n"
"}"
#. type: Plain text
#: ../help/help.E.txt:40
#, no-wrap
msgid "The main program of the slave contains an instance of the class <code>exchange</code> called <code>list</code>."
msgstr "Das Hauptprogramm des Slaves enthält eine Instanz der Klasse <code>exchange</code> namens <code>list</code>."
#. type: Plain text
#: ../help/help.E.txt:42
#, no-wrap
msgid "<c/><s/><a cbot|extern>extern</a> void object::Slave3( )"
msgstr "<c/><s/><a cbot|extern>extern</a> void object::Slave3( )"
#. type: Source code
#: ../help/help.E.txt:43
#, no-wrap
msgid ""
"{\n"
"\texchange list();\n"
"\tstring todo;"
msgstr ""
"{\n"
"\texchange list();\n"
"\tstring todo;"
#. type: Plain text
#: ../help/help.E.txt:47
#, no-wrap
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 non empty string, the while loop stops."
msgstr "Die äußere <code><a cbot|while>while</a></code>-Schleife wird nie verlassen. Die innere <code><a cbot|while>while</a></code>-Schleife wartet auf einen Befehl, wobei die Methode <code>get</code> der Klasse <code>exchange</code> verwendet wird. Sobald <code>get</code> einen nicht-leeren String zurückgibt, wird die Schleife verlassen."
#. type: Plain text
#: ../help/help.E.txt:49
#, no-wrap
msgid "<c/><s/>\t<a cbot|while>while</a> ( true )"
msgstr "<c/><s/>\t<a cbot|while>while</a> ( true )"
#. type: Source code
#: ../help/help.E.txt:50
#, no-wrap
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 != \"\" ) 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 != \"\" ) break;\n"
"\t\t\twait(1);\n"
"\t\t}"
#. type: Plain text
#: ../help/help.E.txt:58
#, no-wrap
msgid "Now we have received the order in the <code>todo</code> variable. All we have to do is execute it:"
msgstr "Nun haben wir einen Befehl empfangen, der in der Variablen <code>todo</code> steht. Wir müssen ihn nur noch ausführen:"
#. type: Plain text
#: ../help/help.E.txt:60
#, no-wrap
msgid "<c/><s/>\t\tif ( <a cbot|strfind>strfind</a>(todo, \"move\") == 0 )"
msgstr "<c/><s/>\t\t<a cbot|if>if</a> ( <a cbot|strfind>strfind</a>(todo, \"move\") == 0 )"
#. type: Source code
#: ../help/help.E.txt:61
#, no-wrap
msgid ""
"\t\t{\n"
"\t\t\tmove(<a cbot|strval>strval</a>(<a cbot|strmid>strmid</a>(todo,5)));\n"
"\t\t}\n"
"\t\tif ( strfind(todo, \"turn\") == 0 )\n"
"\t\t{\n"
"\t\t\tturn(strval(strmid(todo,5)));\n"
"\t\t}\n"
"\t}\n"
"}"
msgstr ""
"\t\t{\n"
"\t\t\t<a cbot|move>move</a>(<a cbot|strval>strval</a>(<a cbot|strmid>strmid</a>(todo,5)));\n"
"\t\t}\n"
"\t\t<a cbot|if>if</a> ( <a cbot|strfind>strfind</a>(todo, \"turn\") == 0 )\n"
"\t\t{\n"
"\t\t\t<a cbot|turn>turn</a>(<a cbot|strval>strval</a>(<a cbot|strmid>strmid</a>(todo,5)));\n"
"\t\t}\n"
"\t}\n"
"}"
#. type: \b; header
#: ../help/help.E.txt:71
#, no-wrap
msgid "The master"
msgstr "Der Master"
#. type: Plain text
#: ../help/help.E.txt:72
#, no-wrap
msgid "In the master we write an function called <code>SendOrder</code> which will send an order to the slave:"
msgstr "Für den Master schreiben wir eine Funktion namens <code>SendOrder</code>, die einen Befehl zum Slave sendet:"
#. type: Plain text
#: ../help/help.E.txt:74
#, no-wrap
msgid "<c/><s/>void object::SendOrder(string order)"
msgstr "<c/><s/>void object::SendOrder(string order)"
#. type: Source code
#: ../help/help.E.txt:75
#, no-wrap
msgid ""
"{\n"
"\texchange list();\n"
"\t\n"
"\twhile ( list.put(order) == false )\n"
"\t{\n"
"\t\twait(1);\n"
"\t}\n"
"}"
msgstr ""
"{\n"
"\texchange list();\n"
"\t\n"
"\t<a cbot|while>while</a> ( list.put(order) == <a cbot|false>false</a> )\n"
"\t{\n"
"\t\t<a cbot|wait>wait</a>(1);\n"
"\t}\n"
"}"
#. type: Plain text
#: ../help/help.E.txt:84
#, no-wrap
msgid ""
"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.\n"
"Now the main program of the master is very simple:"
msgstr ""
"Die <code><a cbot|while>while</a></code>-Schleife wartet, bis ein schon gesendeter Befehl bearbeitet wurde, der Slave also die Methode <code>get</code> verlassen hat.\n"
"Das Hauptprogramm für den Master ist nun sehr einfach:"
#. type: Plain text
#: ../help/help.E.txt:87
#, no-wrap
msgid "<c/><s/>extern void object::Remote3( )"
msgstr "<c/><s/>extern void object::Steuerung3( )"
#. type: Source code
#: ../help/help.E.txt:88
#, no-wrap
msgid ""
"{\n"
"\tSendOrder(\"move(20)\");\n"
"\tSendOrder(\"turn(90)\");\n"
"\tSendOrder(\"move(20)\");\n"
"\tSendOrder(\"turn(90)\");\n"
"\tSendOrder(\"move(10)\");\n"
"\tSendOrder(\"turn(90)\");\n"
"\tSendOrder(\"move(10)\");\n"
"\tSendOrder(\"turn(-90)\");\n"
"\tSendOrder(\"move(10)\");\n"
"}"
msgstr ""
"{\n"
"\tSendOrder(\"move(20)\");\n"
"\tSendOrder(\"turn(90)\");\n"
"\tSendOrder(\"move(20)\");\n"
"\tSendOrder(\"turn(90)\");\n"
"\tSendOrder(\"move(10)\");\n"
"\tSendOrder(\"turn(90)\");\n"
"\tSendOrder(\"move(10)\");\n"
"\tSendOrder(\"turn(-90)\");\n"
"\tSendOrder(\"move(10)\");\n"
"}"
#. type: Plain text
#: ../help/help.E.txt:100
#, no-wrap
msgid "<format key><key help/></format> show these instruction at any time."
msgstr "Mit <format key><key help/></format> können Sie diese Anweisungen jederzeit einsehen."
#. type: \t; header
#: ../help/help.E.txt:102
#, no-wrap
msgid "See also"
msgstr "Siehe auch"
#. type: Plain text
#: ../help/help.E.txt:103
#, no-wrap
msgid "<a command>Controls</a> and <a cbot>programming</a>."
msgstr "Die <a cbot>CBOT-Sprache</a>, die <a cbot|type>Variablentypen</a> und die <a cbot|category>Kategorien</a>."