en to pl translation catalogue (25 entries)

note: type: Title-text
en: Remote control #4
pl: Zdalna kontrola #4

note: type: Resume-text
en: Remote control a bot without using an information exchange post by defining a class for the orders.
pl: Zdalnie kontroluj robota bez użycia stacji przekaźnikowej definiując klasę z rozkazami.

note: type: ScriptName-text
en: Remote4
pl: Zdalnie4

note: type: \b; header
en: Exercise
pl: Ćwiczenie

note: type: Plain text
en: 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.
pl: Pokieruj zdalnie robotem podległym bez używania <a object|exchange>stacji przekaźnikowej informacji</a>. Robot powinien przejść przez 6 niebieskich plusów. Musisz użyć zmiennej zadeklarowanej jako <code><a cbot|static>static</a></code> do przekazania rozkazów robotowi podległemu.

note: type: Plain text
en: The two main actors of this exercise are:
pl: Dwoma głównymi postaciami tego ćwiczenia są:

note: type: Bullet: '1)'
en: 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.
pl: <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.

note: type: Bullet: '2)'
en: The slave <a object|bottr>practice bot</a> which is already programmed and just waits for orders from the master.
pl: Podległy <a object|bottr>robot treningowy</a>, który jest już zaprogramowany i tylko czeka na rozkazy od robota nadrzędnego.

note: type: \b; header
en: The slave
pl: Robot podległy

note: type: Plain text
en: 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:
pl: Najpierw musimy zrozumieć jak działa program robota podległego. <a cbot|class>Klasa</a> <code>order</code> zawiera dwa elementy: <code>m_type</code> jest rozkazem do wykonania (move lub turn), a <code>m_param</code> jest odległością do pokonania lub kątem obrotu:

note: type: Plain text
en: 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.
pl: Druga <a cbot|class>klasa</a> <code>exchange</code> zawiera mechanizm przekazywania rozkazów. Deklarujemy jako <code><a cbot|static>static</a></code> element klasy <code>m_order</code>, który będzie zawierał rozkaz do wykonania. Słowo <code>static</code> zapewnia, że element <code>m_order</code> będzie współużytkowany przez wszystkie instancje <a cbot|class>klasy</a> exchange.

note: type: Plain text
en: <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:
pl: <n/>Metoda <code>put</code> będzie używana przez robota nadrzędnego do przesyłania rozkazów. Jeśli zmienna <code>m_order</code> jest różna od <code><a cbot|nan>nan</a></code>, robot podległy nie zakończył wykonywania rozkazu a metoda <code>put</code> zwróci wartość <code>false</code> i niczego nie zrobi:

note: type: Plain text
en: Another method <code>get</code> will be used by the slave to retrieve the orders. This method returns the order to be executed:
pl: Kolejna metoda <code>get</code> będzie używana przez robota podległego do otrzymywania rozkazów. Metoda ta jako wynik zwraca rozkaz do wykonania:

note: type: Plain text
en: A third method <code>delete</code> will be used by the slave to indicate that the order has been executed:
pl: Trzecia metoda <code>delete</code> będzie używana przez robota podległego do zaznaczenia, że rozkaz został wykonany:

note: type: Plain text
en: 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>.
pl: Główny program robota podległego zawiera instancję klasy <code>exchange</code> nazwaną <code>list</code>. Po słowie <code>list</code> należy napisać nawiasy (), w celu utworzenia instancji klasy <code>exchange</code>.

note: type: Plain text
en: 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.
pl: 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 <code>get</code> zwróci wartość różną od <code>nan</code>.

note: type: Plain text
en: Now we have received the order in the <code>todo</code> variable. All we have to do is execute it:
pl: Po otrzymaniu rozkazu i zapisaniu go w zmiennej <code>todo</code> wystarczy jedynie go wykonać:

note: type: Source code
en: 		{
    			move(todo.m_param);
    		}
    		else if ( todo.m_type == 2 )
    		{
    			turn(todo.m_param);
    		}
    		else
    		{
    			message("Unknown order");
    		}
pl: 		{
    			move(todo.m_param);
    		}
    		else if ( todo.m_type == 2 )
    		{
    			turn(todo.m_param);
    		}
    		else
    		{
    			message("Nieznany rozkaz");
    		}

note: type: Plain text
en: 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:
pl: Po zakończeniu wykonywania rozkazu, należy wywołać metodę <code>delete</code>, aby powiadomić robota nadrzędnego, że może już przesłać następny rozkaz:

note: type: \b; header
en: The master
pl: Robot nadrzędny

note: type: Plain text
en: In the master we write an function called <code>SendOrder</code> which will send an order to the slave:
pl: W robocie nadrzędnym należy napisać funkcję nazwaną <code>SendOrder</code>, która wyśle rozkaz do robota podległego:

note: type: Plain text
en: 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.
    Now the main program of the master is very simple:
pl: 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> i wywołanie metody <code>delete</code>.
    Główny program robota nadrzędnego jest bardzo prosty:

note: type: Plain text
en: <format key><key help/></format> show these instruction at any time.
pl: Klawisz <format key><key help/></format> umożliwia wyświetlenie tych informacji w dowolnej chwili.

note: type: \t; header
en: See also
pl: Zobacz również

note: type: Plain text
en: <a command>Controls</a> and <a cbot>programming</a>.
pl: <a command>Sterowanie</a> i <a cbot>programowanie</a>.
