453 lines
13 KiB
Plaintext
453 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: 2014-07-02 12:51+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: pl\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: One-char language identifier
|
|
#: train701.languagecode:1
|
|
#, no-wrap
|
|
msgid "E"
|
|
msgstr "P"
|
|
|
|
#. type: Title-text
|
|
#: train701/scene.txt:1
|
|
#, no-wrap
|
|
msgid "train701:Remote control #3"
|
|
msgstr "train701:Zdalna kontrola #3"
|
|
|
|
#. type: Resume-text
|
|
#: train701/scene.txt:2
|
|
#, no-wrap
|
|
msgid ""
|
|
"train701:Remote control a bot without using an information exchange post by "
|
|
"using a string."
|
|
msgstr ""
|
|
"train701:Zdalnie kontroluj robota bez użycia stacji przekaźnikowej używając "
|
|
"zmiennej zawierającej tekst."
|
|
|
|
#. type: ScriptName-text
|
|
#: train701/scene.txt:3
|
|
#, no-wrap
|
|
msgid "train701:Remote3"
|
|
msgstr "train701:Zdalnie3"
|
|
|
|
#. type: \b; header
|
|
#: train701-help/tremote3.txt:1
|
|
#, no-wrap
|
|
msgid "Exercice"
|
|
msgstr "Ćwiczenie"
|
|
|
|
#. type: Plain text
|
|
#: train701-help/tremote3.txt:3
|
|
#, 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 ""
|
|
"Zdalnie pokieruj robotem bez używania <a object|exchange>stacji "
|
|
"przekaźnikowej informacji</a>. Robot powinien przejść przez 6 niebieskich "
|
|
"plusów. Musisz użyć <a cbot|string>łańcucha</a> do przekazania rozkazów "
|
|
"podległemu robotowi. Łańcuch zawiera rozkaz, który powinien być wykonany "
|
|
"przez tego robota, na przykład <code>\"move(20)\"</code>. Możesz użyć tej "
|
|
"samej składni co w języku CBOT, choć możesz też wybrać dowolną inną, na "
|
|
"przykład podobną do tej: <code>\"advance=20\"</code>. Łańcuch będzie "
|
|
"elementem klasy zdefiniowanym jako <code><a cbot|static>static</a></code>, "
|
|
"używanym do komunikacji pomiędzy robotem nadrzędnym i podległym."
|
|
|
|
#. type: Plain text
|
|
#: train701-help/tremote3.txt:5
|
|
#, no-wrap
|
|
msgid "The two main actors of this exercise are:\n"
|
|
msgstr "Dwoma głównymi postaciami tego ćwiczenia są¦:\n"
|
|
|
|
#. type: Bullet: '1)'
|
|
#: train701-help/tremote3.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 ""
|
|
"<a object|botgr>Transporter na kołach</a> bez ogniwa elektrycznego, wobec "
|
|
"czego unieruchomiony. Jest to robot nadrzędny, który powinien zostać "
|
|
"zaprogramowany aby mógł przesyłać rozkazy do podległego mu robota."
|
|
|
|
#. type: Bullet: '2)'
|
|
#: train701-help/tremote3.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 ""
|
|
"Podległy <a object|bottr>robot treningowy</a>, który jest już zaprogramowany "
|
|
"i tylko czeka na rozkazy od robota nadrzędnego."
|
|
|
|
#. type: \b; header
|
|
#: train701-help/tremote3.txt:8
|
|
#, no-wrap
|
|
msgid "The slave"
|
|
msgstr "Robot podległy"
|
|
|
|
#. type: Plain text
|
|
#: train701-help/tremote3.txt:10
|
|
#, 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 ""
|
|
"Najpierw musisz zrozumieć jak działa program robota podległego. <a "
|
|
"cbot|class>Klasa</a> <code>exchange</code> zawiera mechanizmy przekazywania "
|
|
"rozkazów. Należy zadeklarować element klasy <code>m_order</code> jako <code><"
|
|
"a cbot|static>static</a></code>, będzie on zawierał rozkazy do wykonania. "
|
|
"Słowo <code>static</code> zapewnia, że element <code>m_order</code> jest "
|
|
"współużytkowany przez wszystkie instancje <a cbot|class>klasy</a> exchange."
|
|
|
|
#. type: Plain text
|
|
#: train701-help/tremote3.txt:12
|
|
#, 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: \s; block (usually verbatim code)
|
|
#: train701-help/tremote3.txt:14
|
|
#, 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
|
|
#: train701-help/tremote3.txt:16
|
|
#, 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/>Metoda <code>put</code> będzie używana przez robota nadrzędnego do "
|
|
"przesyłania rozkazów. Jeśli łańcuch <code>m_order</code> nie jest pusty, "
|
|
"robot podległy nie zakończył wykonywania rozkazu a metoda <code>put</code> "
|
|
"zwróci wartość <code>false</code> i niczego nie zrobi."
|
|
|
|
#. type: Plain text
|
|
#: train701-help/tremote3.txt:18
|
|
#, 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(string "
|
|
"order)"
|
|
|
|
#. type: \s; block (usually verbatim code)
|
|
#: train701-help/tremote3.txt:29
|
|
#, 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\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}"
|
|
|
|
#. type: Plain text
|
|
#: train701-help/tremote3.txt:31
|
|
#, 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 ""
|
|
"Inna metoda <code>get</code> zostanie użyta przez robota podległego do "
|
|
"pobrania rozkazów. Metoda ta zwraca łańcuch zawarty w zmiennej "
|
|
"<code>m_order</code> i opróżnia ją, aby mógł być przyjęty nowy rozkaz:"
|
|
|
|
#. type: Plain text
|
|
#: train701-help/tremote3.txt:33
|
|
#, 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: \s; block (usually verbatim code)
|
|
#: train701-help/tremote3.txt:39
|
|
#, 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\tstring ret = m_order;\n"
|
|
"\t\tm_order = \"\";\n"
|
|
"\t\treturn ret;\n"
|
|
"\t}\n"
|
|
"}"
|
|
|
|
#. type: Plain text
|
|
#: train701-help/tremote3.txt:41
|
|
#, no-wrap
|
|
msgid ""
|
|
"The main program of the slave contains an instance of the class "
|
|
"<code>exchange</code> called <code>list</code>."
|
|
msgstr ""
|
|
"Główny program niewolnika zawiera instancję klasy <code>exchange</code> "
|
|
"nazwaną <code>list</code>."
|
|
|
|
#. type: Plain text
|
|
#: train701-help/tremote3.txt:43
|
|
#, 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: \s; block (usually verbatim code)
|
|
#: train701-help/tremote3.txt:46
|
|
#, no-wrap
|
|
msgid ""
|
|
"{\n"
|
|
"\texchange list();\n"
|
|
"\tstring todo;"
|
|
msgstr ""
|
|
"{\n"
|
|
"\texchange list();\n"
|
|
"\tstring todo;"
|
|
|
|
#. type: Plain text
|
|
#: train701-help/tremote3.txt:48
|
|
#, 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 ""
|
|
"Zewnętrzna pętla <code>while</code> działa w nieskończoność. Wewnętrzna "
|
|
"pętla <code>while</code> czeka na rozkaz używając metody <code>get</code> z "
|
|
"klasy <code>exchange</code>. Pętla zatrzymuje się gdy metoda <code>get</code>"
|
|
" zwróci pusty łańcuch."
|
|
|
|
#. type: Plain text
|
|
#: train701-help/tremote3.txt:50
|
|
#, no-wrap
|
|
msgid "<c/><s/>\t<a cbot|while>while</a> ( true )"
|
|
msgstr "<c/><s/>\t<a cbot|while>while</a> ( true )"
|
|
|
|
#. type: \s; block (usually verbatim code)
|
|
#: train701-help/tremote3.txt:57
|
|
#, 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
|
|
#: train701-help/tremote3.txt:59
|
|
#, no-wrap
|
|
msgid ""
|
|
"Now we have received the order in the <code>todo</code> variable. All we "
|
|
"have to do is execute it:"
|
|
msgstr ""
|
|
"Po otrzymaniu rozkazu i zapisaniu go w zmiennej <code>todo</code> wystarczy "
|
|
"jedynie go wykonać:"
|
|
|
|
#. type: Plain text
|
|
#: train701-help/tremote3.txt:61
|
|
#, no-wrap
|
|
msgid "<c/><s/>\t\tif ( <a cbot|strfind>strfind</a>(todo, \"move\") == 0 )"
|
|
msgstr "<c/><s/>\t\tif ( <a cbot|strfind>strfind</a>(todo, \"move\") == 0 )"
|
|
|
|
#. type: \s; block (usually verbatim code)
|
|
#: train701-help/tremote3.txt:70
|
|
#, 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\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"
|
|
"}"
|
|
|
|
#. type: \b; header
|
|
#: train701-help/tremote3.txt:71
|
|
#, no-wrap
|
|
msgid "The master"
|
|
msgstr "Robot nadrzędny"
|
|
|
|
#. type: Plain text
|
|
#: train701-help/tremote3.txt:73
|
|
#, no-wrap
|
|
msgid ""
|
|
"In the master we write an function called <code>SendOrder</code> which will "
|
|
"send an order to the slave:"
|
|
msgstr ""
|
|
"W robocie nadrzędnym należy napisać funkcję nazwaną <code>SendOrder</code>, "
|
|
"która wyśle rozkaz do robota podległego:"
|
|
|
|
#. type: Plain text
|
|
#: train701-help/tremote3.txt:75
|
|
#, no-wrap
|
|
msgid "<c/><s/>void object::SendOrder(string order)"
|
|
msgstr "<c/><s/>void object::SendOrder(string order)"
|
|
|
|
#. type: \s; block (usually verbatim code)
|
|
#: train701-help/tremote3.txt:83
|
|
#, 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"
|
|
"\twhile ( list.put(order) == false )\n"
|
|
"\t{\n"
|
|
"\t\twait(1);\n"
|
|
"\t}\n"
|
|
"}"
|
|
|
|
#. type: Plain text
|
|
#: train701-help/tremote3.txt:86
|
|
#, 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 ""
|
|
"Pętla <code>while</code> czeka na zakończenie oczekującego rozkazu, czyli na "
|
|
"wyjście przez robota podległego z metody <code>get</code>.\n"
|
|
"Główny program robota nadrzędnego jest bardzo prosty:"
|
|
|
|
#. type: Plain text
|
|
#: train701-help/tremote3.txt:88
|
|
#, no-wrap
|
|
msgid "<c/><s/>extern void object::Remote3( )"
|
|
msgstr "<c/><s/>extern void object::Remote3( )"
|
|
|
|
#. type: \s; block (usually verbatim code)
|
|
#: train701-help/tremote3.txt:99
|
|
#, 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
|
|
#: train701-help/tremote3.txt:101
|
|
#, no-wrap
|
|
msgid "<format key><key help/></format> show these instruction at any time."
|
|
msgstr ""
|
|
"Klawisz <format key><key help/></format> umożliwia wyświetlenie tych "
|
|
"informacji w dowolnej chwili."
|
|
|
|
#. type: \t; header
|
|
#: train701-help/tremote3.txt:102
|
|
#, no-wrap
|
|
msgid "See also"
|
|
msgstr "Zobacz również"
|
|
|
|
#. type: Plain text
|
|
#: train701-help/tremote3.txt:103
|
|
#, no-wrap
|
|
msgid "<a command>Controls</a> and <a cbot>programming</a>."
|
|
msgstr "<a command>Sterowanie</a> i <a cbot>programowanie</a>."
|