# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , 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 \n" "Language-Team: LANGUAGE \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 information " "exchange post. The robot should pass over the 6 blue crosses. You must " "use a string to pass the orders to the slave bot. This " "string contains the order the slave shoud execute, for exemple " "\"move(20)\". 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 \"advance=20\". The string will be a static class member that will be used to communicate " "from the master to the slave." msgstr "" "Zdalnie pokieruj robotem bez używania stacji " "przekaźnikowej informacji. Robot powinien przejść przez 6 niebieskich " "plusów. Musisz użyć łańcucha do przekazania rozkazów " "podległemu robotowi. Łańcuch zawiera rozkaz, który powinien być wykonany " "przez tego robota, na przykład \"move(20)\". 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: \"advance=20\". Łańcuch będzie " "elementem klasy zdefiniowanym jako static, " "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 wheeled grabber without an energy pack and therefore " "immobile. This is the master you should program so it will transmit orders " "to the slave." msgstr "" "Transporter na kołach 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 practice bot which is already programmed and " "just waits for orders from the master." msgstr "" "Podległy robot treningowy, 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 class exchange contains the mechanism for " "exchaning the orders. We declare a static " "class member m_order which will contain the order to be " "executed. The word static insures that the member " "m_order is shared between all instances of the class exchange." msgstr "" "Najpierw musisz zrozumieć jak działa program robota podległego. Klasa exchange zawiera mechanizmy przekazywania " "rozkazów. Należy zadeklarować element klasy m_order jako <" "a cbot|static>static, będzie on zawierał rozkazy do wykonania. " "Słowo static zapewnia, że element m_order jest " "współużytkowany przez wszystkie instancje klasy exchange." #. type: Plain text #: train701-help/tremote3.txt:12 #, no-wrap msgid "public class exchange" msgstr "public class exchange" #. type: \s; block (usually verbatim code) #: train701-help/tremote3.txt:14 #, no-wrap msgid "" "{\n" "\tstatic private string m_order = \"\";" msgstr "" "{\n" "\tstatic private string m_order = \"\";" #. type: Plain text #: train701-help/tremote3.txt:16 #, no-wrap msgid "" "The put method will be used by the master robot for " "transmitting an order. As long as the string m_order is not " "empty, the slave has not finished the order and the put method " "will return false and will do nothing." msgstr "" "Metoda put będzie używana przez robota nadrzędnego do " "przesyłania rozkazów. Jeśli łańcuch m_order nie jest pusty, " "robot podległy nie zakończył wykonywania rozkazu a metoda put " "zwróci wartość false i niczego nie zrobi." #. type: Plain text #: train701-help/tremote3.txt:18 #, no-wrap msgid "" "\tsynchronized bool put(string " "order)" msgstr "" "\tsynchronized bool 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 get will be used by the slave to retrieve the " "orders. This method returns the string contained in m_order and " "empties it, so a new order can be accepted:" msgstr "" "Inna metoda get zostanie użyta przez robota podległego do " "pobrania rozkazów. Metoda ta zwraca łańcuch zawarty w zmiennej " "m_order i opróżnia ją, aby mógł być przyjęty nowy rozkaz:" #. type: Plain text #: train701-help/tremote3.txt:33 #, no-wrap msgid "\tsynchronized string get()" msgstr "\tsynchronized 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 " "exchange called list." msgstr "" "Główny program niewolnika zawiera instancję klasy exchange " "nazwaną list." #. type: Plain text #: train701-help/tremote3.txt:43 #, no-wrap msgid "extern void object::Slave3( )" msgstr "extern 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 while loop lasts for ever. The inner " "while loop waits for an order by using the get " "method of the exchange class. As soon as get " "returns a non empty string, the while loop stops." msgstr "" "Zewnętrzna pętla while działa w nieskończoność. Wewnętrzna " "pętla while czeka na rozkaz używając metody get z " "klasy exchange. Pętla zatrzymuje się gdy metoda get" " zwróci pusty łańcuch." #. type: Plain text #: train701-help/tremote3.txt:50 #, no-wrap msgid "\twhile ( true )" msgstr "\twhile ( true )" #. type: \s; block (usually verbatim code) #: train701-help/tremote3.txt:57 #, no-wrap msgid "" "\t{\n" "\t\twhile ( 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\twhile ( 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 todo variable. All we " "have to do is execute it:" msgstr "" "Po otrzymaniu rozkazu i zapisaniu go w zmiennej todo wystarczy " "jedynie go wykonać:" #. type: Plain text #: train701-help/tremote3.txt:61 #, no-wrap msgid "\t\tif ( strfind(todo, \"move\") == 0 )" msgstr "\t\tif ( strfind(todo, \"move\") == 0 )" #. type: \s; block (usually verbatim code) #: train701-help/tremote3.txt:70 #, no-wrap msgid "" "\t\t{\n" "\t\t\tmove(strval(strmid(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(strval(strmid(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 SendOrder which will " "send an order to the slave:" msgstr "" "W robocie nadrzędnym należy napisać funkcję nazwaną SendOrder, " "która wyśle rozkaz do robota podległego:" #. type: Plain text #: train701-help/tremote3.txt:75 #, no-wrap msgid "void object::SendOrder(string order)" msgstr "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 while loop waits until a pending order has been terminated, " "that is the slaved has exited from the get method.\n" "Now the main program of the master is very simple:" msgstr "" "Pętla while czeka na zakończenie oczekującego rozkazu, czyli na " "wyjście przez robota podległego z metody get.\n" "Główny program robota nadrzędnego jest bardzo prosty:" #. type: Plain text #: train701-help/tremote3.txt:88 #, no-wrap msgid "extern void object::Remote3( )" msgstr "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 " show these instruction at any time." msgstr "" "Klawisz 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 "Controls and programming." msgstr "Sterowanie i programowanie."