msgid "When controlling the robot through programming, the only way to turn the gun left or right is to turn the whole robot with the instruction <code><a cbot|turn>turn</a></code>."
msgstr "Podczas kontrolowania działanie robota przy użyciu programu, jedynym sposobem obrócenia lufy w prawo lub w lewo, jest obrócenie całego robota instrukcją <code><a cbot|turn>turn</a></code>."
msgid "Angle in degrees of the gun relative to the robot. A positive value orients the gun upward. For shooters and orga shooters, the angle must range from <code>-20</code> to <code>+20</code> degrees. For phazer shooters, the angle must range from <code>-20</code> to <code>45</code> degrees."
msgstr "Kąt w stopniach w odniesieniu do robota. Wartość dodatnia ustawia lufę w górę. Dla dział i dział organicznych ograniczeniem jest przedział od <code>-20</code> do <code>+20</code> stopni. Dla działa fazowego kąt ten musi należeć do przedziału od <code>-20</code> do <code>45</code> stopni."
msgid "An array is basically a collection of variables of the same type or class. You can use N dimensionnal arrays in the CBOT language. Each dimension is limited to 9999 elements. You must use square brackets <code>[]</code> after the type name or the variable name to declare an array."
msgstr "Tablica jest zestawem obiektów tego samego typu lub klasy. W języku CBOT można używać N wymiarowych tablic. Każdy wymiar jest ograniczony do 9999 elementów. Aby zadeklarować tablicę, należy użyć nawiasów kwadratowych <code>[]</code> po nazwie zmiennej lub nazwie typu."
msgid "Actually when the CBOT interpreter encounters an array declaration, it just creates a <code><a cbot|null>null</a></code> <a cbot|pointer>reference</a>:"
msgstr "W rzeczywistości, gdy interpreter języka CBOT napotka deklarację tablicy, tworzy jedynie <a cbot|pointer>wskażnik</a> <code><a cbot|null>null</a></code>:"
msgid "After this operation, <code>a</code> contains a reference to the elements of the array. Elements <code>[0]</code> and <code>[1]</code> are created but not initialized because an array cannot contain empty elements. The <code><a cbot|sizeof>sizeof</a></code> instruction allows you to obtain the number of elements contained in an array."
msgstr "Po tej operacji, zmienna <code>a</code> zawiera wskaźnik do elementów tablicy. Elementy <code>[0]</code> i <code>[1]</code> są tworzone, ale nie inicjalizowane, gdyż tablica nie może zawierać pustych elementów. Instrukcja <code><a cbot|sizeof>sizeof</a></code> umożliwia sprawdzenie liczby elementów tablicy."
msgid "When an array is declared with a maximum size, the program will stop as soon as there is an access beyond the maximum array size. No error is signalled during compilation even if the error is obvious:"
msgstr "Gdy określony jest rozmiar maksymalny deklarowanej tablicy, program zatrzyma się w przypadku próby dostępu poza tablicę. Błąd ten nie jest sygnalizowany podczas kompilacji, nawet jeśli jest oczywisty:"
msgid "If you pass an array as parameter to a <a cbot|function>function</a>, the function only receives a <a cbot|pointer>reference</a> to the array. That means if you modify an array element in the function, the element of the array that has been passed the function will be actuallay modified."
msgstr "Jeśli tablica przekazywana jest jako parametr <a cbot|function>funkcji</a>, funkcja otrzymuje jedynie <a cbot|pointer>wskaźnik</a> do tablicy. Oznacza to, że w przypadku modyfikacji elementu tablicy wewnątrz funkcji, zostanie w rzeczywistości zmodyfikowany element tablicy przekazanej funkcji jako parametr."
"If the <a cbot|cond>condition</a> is true, instructions 1, 2 and 3 are performed. If the condition is false, only instruction 1 is ignored, instructions 2 and 3 are performed. The fact that instruction 2 is lined up with instruction 1 does not matter. \n"
"If you want to perform instructions 1 and 2 only if the condition is true, you have to bracket them together in a block: "
"Jeśli <a cbot|cond>warunek</a> jest prawdziwy, wykonywane są instrukcje 1, 2 i 3. Jeśli nie, tylko instrukcja 1 jest pomijana, instrukcje 2 i 3 są wykonywane. Fakt, że instrukcja 2 jest na tym samym poziomie co instrukcja 1 nie ma znaczenia. \n"
"Jeśli instrukcje 1 i 2 mają być wykonywane tylko gdy warunek jest prawdziwy, należy użyć nawiasów klamrowych do złączenie ich w jeden blok: "
"Blocks may be needed with instructions <code><a cbot|if>if</a></code>, <code><a cbot|while>while</a></code> and <code><a cbot|for>for</a></code>, in order to group several instructions that should be performed only if a condition is true, or repeated several times. \n"
"You can fit blocks into other blocks, on as many levels as you need. Here is an example of imbrication on two levels :"
"Bloki mogą być niezbędne w przypadku instrukcji <code><a cbot|if>if</a></code>, <code><a cbot|while>while</a></code> oraz <code><a cbot|for>for</a></code>, w celu zgrupowania instrukcji, które mają być wykonywane tylko w przypadku prawdziwości warunku bądź powtarzane wielokrotnie. \n"
"Bloki można umieszczać wewnątrz innych bloków dowolną liczbę razy. Oto przykład dwupoziomowego zagnieżdżenia:"
msgid "You had better line up the open brace <code>{</code> with the closing brace <code>}</code> in order to improve readability, but it is not compulsory. The following example takes less space, is equivalent to the previous example, but it is not advisable to write your programs in the following style : "
msgstr "Aby poprawić czytelność programu, najlepiej jest wyrównać klamrę otwierającą<code>{</code> z zamykającą <code>}</code>, chociaż nie jest to obowiązkowe. Następujący przykład zajmuje mniej miejsca i jest równoważny poprzedniemu, nie jest jednak polecane używanie takiego stylu: "
msgid "Categories represent the names of objects in the CBOT language. Everything in COLOBOT is an object: robots, buildings, raw materials, etc., even yourself."
msgstr "Kategorie to nazwy obiektów języka CBOT. W grze COLOBOT wszystko to obiekty: roboty, budynki, surowce, itd., nawet Ty."
msgid "In a program, categories are always displayed on a <format const>red background</format>. If a category isn't highlighted in red, it is misspelled. Caps and lower cases should be kept as is."
msgstr "W programie kategorie są wyświetlane na <format const>czerwonym tle</format>. Jeśli kategoria nie jest podświetlona na czerwono, w jej nazwie jest literówka. Wielkie i małe litery powinny być zachowane."
msgid "Classes can only be <a cbot|public>public</a>, that is they can be used from all bots in a mission. Class members are also public, that is they are accessible from outside the class. Class members can be fields or functions (also called methods), for example the followin class <code>MyClass</code> contains 4 fields (a, b, x and s) and one method (MyFunction)."
msgstr "Klasy mogą być tylko typu <a cbot|public>public</a> (publiczne), a więc mogą być używane podczas misji przez wszystkie roboty. Elementy klasy również są publiczne, dostępne spoza klasy. Do klasy mogą należeć pola lub funkcje (zwane również metodami), na przykład następująca klasa <code>MojaKlasa</code> zawiera 4 pola (a, b, x oraz s) i jedną metodę (MojaFunkcja)."
msgid "As shown in this exemple the class members can be initialized (<code>x=3.33</code>). You can also define a constructor which is a special method having the same name as the class name. This method will be called automatically at creation time of a class instance. You can also declare more than one method with the same name but different parameters."
msgstr "Jak pokazano na tym przykładzie, elementy klasy mogą być inicjalizowane (<code>x=3.33</code>). Można też zdefiniować konstruktor, który jest specjalną metodą o nazwie takiej samej jak nazwa klasy. Metoda ta jest wywoływana automatycznie podczas tworzenia instancji klasy. Możliwe jest również zadeklarowanie więcej niż jednej metody o tej samej nazwie ale o innych parametrach."
msgid "In this example two constructors are declared for <code>MyClass</code>, one without parameters and the other one with two parameters. As the names of the parameters of the second constructor are the same as the names of the two members <code>a</code> et <code>b</code> we must use the <code><a cbot|this>this</a>.a</code> and <code><a cbot|this>this</a>.b</code> to avoid confusion with the parameters. Another more simpler solution would be to give different names to the parameters."
msgstr "W tym przykładzie zadeklarowano dwa konstruktory dla klasy <code>MojaKlasa</code>, jeden bez parametrów, drugi z dwoma parametrami. Jako że nazwy parametrów drugiego konstruktora są takie same jak nazwy dwóch pól klasy <code>a</code> et <code>b</code> konieczne jest użycie <code><a cbot|this>this</a>.a</code> i <code><a cbot|this>this</a>.b</code> w celu rozróżnienia parametrów. Inne, prostsze rozwiązanie, to nadanie różnych nazw parametrom."
msgid "You can also define a destructor. This must be a <code>void</code> fonction without parameters that has the same name as the class name but prefixed by the ~ character. The destructor is called automatically as soon as the class instance is no more referenced by anyone."
msgstr "Można też zdefinować destruktor. Musi to być funkcja <code>void</code> bez parametrów o takiej samej nazwie jak nazwa klasy, poprzedzona znakiem ~. Destruktor jest wywoływany automatycznie gdy nie ma już żadnych odwołań do instancji klasy."
msgid "If you pass a class instance as parameter to a <a cbot|function>function</a>, the function only receives a <a cbot|pointer>reference</a> to the instance. That means if you modify the instance in the function, the instance that has been passed to the function will be actuallay modified."
msgstr "W przypadku przekazywania instancji klasy jako parametru <a cbot|function>funkcji</a>, otrzymuje ona tylko <a cbot|pointer>wskaźnik</a> do instancji. Oznacza to, że jeśli zostanie zmodyfikowana instancja wewnątrz funkcji, w rzeczywistości zostanie zmodyfikowana instancja przekazana funkcji."
msgid "Close a file opened previously with <code><a cbot|open>open</a></code>. This is a method of the <code><a cbot|file>file</a></code> class; therefore you cannot write <code>close()</code> but only <code>handle.close()</code>¦:"
msgstr "Zamyka plik otwarty wcześniej przy użyciu instrukcji <code><a cbot|open>open</a></code>. Jest to metoda klasy <code><a cbot|file>file</a></code>, wobec czego nie można napisać <code>close()</code>, lecz jedynie <code>handle.close()</code>¦:"
"A condition is a special <a cbot|expr>expression</a> that returns a <a cbot|bool>boolean</a> value, that can only be either <code><a cbot|true>true</a></code> or <code><a cbot|false>false</a></code>. With a condition, you can choose f. ex. if the instructions in a <code><a cbot|while>while</a></code> loop must be repeated again, or if the instruction in a <code><a cbot|if>if</a></code> bloc must be executed.\n"
"Here are some operators that you can use in conditions to compare two values :"
"Warunek, to <a cbot|expr>wyrażenie</a> dające w wyniku wartość <a cbot|bool>logiczną</a>, którą może być <code><a cbot|true>true</a></code> (prawda) lub <code><a cbot|false>false</a></code> (fałsz). Używając warunku można wybrać czy instrukcje w pętli <code><a cbot|while>while</a></code> powinny być wykonane jeszcze raz lub czy instrukcje w bloku <code><a cbot|if>if</a></code> powinny być wykonywane.\n"
msgid "With this instruction, you can jump over the rest of instructions in the <code><a cbot|bloc>bloc</a></code> of a <code><a cbot|while>while</a></code> or <code><a cbot|for>for</a></code> loop: The execution will resume at the beginning of the bloc, the next time the loop is repeated."
msgstr "Przy użyciu tej instrukcji, można przeskoczyć resztę instrukcji w <code><a cbot|bloc>bloku</a></code> pętli <code><a cbot|while>while</a></code> lub <code><a cbot|for>for</a></code>: Działanie zostanie wznowione na początku bloku przy następnym powtórzeniu pętli."
msgid "Files can only be deleted in the files/ folder which is located in the folder where Colobot has been installed. You cannot not delete files that are located elsewhere than in the files/ folder."
msgstr "Pliki mogą być usuwane tylko w folderze files/ znajdującym się w folderze, w którym została zainstalowana gra Colobot. Nie jest możliwe usuwanie plików znajdujących się w innych folderach."
msgid "Power of the transmitter, which corresponds to the maximal distance between the sender and the exchange post. If the distance is longer, the information won't be deleted. Default value is 10 metres."
msgstr "Moc transmitera, odpowiadająca maksymalnej odległości pomiędzy nadawcą i stacją przekaźnikową. Jeśli odległość jest większa, informacja nie zostanie usunięta. Domyślana wartość to 10 metrów."
msgid "If you write <code>position</code> alone, this gives you the position of the bot that executes the program. If you write the name of a variable followed by <code>.position</code>, this gives you the position of the object described in the variable."
msgstr "Napisanie samej instrukcji <code>position</code> daje w wyniku pozycję robota wykonującego program. Napisanie nazwy zmiennej, a następnie bezpośrednio po niej <code>.position</code>, daje w wyniku pozycję obiektu opisywanego przez zmienną."
"This instruction allows you to perform several times the instructions inside the <a cbot|bloc>block</a>. The instructions are executed at least once, because the condition is tested only afterwards.\n"
"Be careful not to confuse the instruction <c/>do { } while ( );<n/> with the instruction <code><a cbot|while>while</a> ( ) { }</code>; the latter tests the condition before the instructions in the block are executed. "
"Instrukcja ta umożliwia kilkukrotne wykonanie instrukcji w <a cbot|bloc>bloku</a>. Instrukcje wykonywane są conajmniej jeden raz, gdyż warunek sprawdzany jest dopiero na końcu pętli.\n"
"Należy uważać, aby nie pomylić instrukcji <c/>do { } while ( );<n/> z instrukcją <code><a cbot|while>while</a> ( ) { }</code>; ta druga sprawdza warunek przed wykonaniem instrukcji w bloku. "
msgid "The instructions <code><a cbot|break>break</a></code> and <code><a cbot|continue>continue</a></code> can be useful inside a block following the instruction <code>do { }</code>."
msgstr "Instrukcje <code><a cbot|break>break</a></code> i <code><a cbot|continue>continue</a></code> mogą być przydatne wewnątrz bloku instrukcji <code>do { }</code>."
msgid "The instruction <c/>drop();<n/> instructs the bot to drop whatever the operating arm is carrying on the ground, on the platform of a building or on the power cell location of a bot."
msgstr "Instrukcja <c/>drop();<n/> poleca robotowi upuścić niesiony przedmiot na ziemię, platformę budynku lub miejsce na ogniwo elektryczne robota."
msgid "The instruction <c/>drop();<n/> written in this form drops the object in front of the bot. Here is a short program that grabs an object in front of the bot and drops it 5 meters further:"
msgstr "Instrukcja <c/>drop();<n/> napisana w takiej postaci upuszcza przedmiot przed robotem. Oto krótki program podnoszący przedmiot bezpośrednio przed robotem i upuszczający go 5 metrów dalej:"
"Normally an error stops the program. You can prevent the program from stopping on errors by using the <code><a cbot|errmode>errmode</a>(0)</code> instruction. A value different from zero if an error occurred is then returned by <c/>drop();<n/>.\n"
"Zwykle wystąpienie błędu powoduje zatrzymanie programu. Można wyłączyć zatrzymywanie się programu w przypadku wystąpienia błędu, używając instrukcji <code><a cbot|errmode>errmode</a>(0)</code>. Wtedy w przypadku wystąpienia błędu instrukcja <c/>drop();<n/> zwraca w wyniku wartość różną od zera.\n"
msgid "Test the end of file condition of an open file. This is a method of the <code><a cbot|file>file</a></code> class; therefore you cannot write <code>eof()</code> but only <code>handle.eof()</code>¦:"
msgstr "Sprawdza warunek końca otwartego pliku. Jest to metoda klasy <code><a cbot|file>file</a></code>; wobec czego zamiast <code>eof()</code> należy napisać <code>handle.eof()</code>¦:"
msgid "The <c/>errmode();<n/> instruction allows you to chose if the program should stop when an error occurs in one of the following instructions: <code><a cbot|goto>goto</a></code>, <code><a cbot|move>move</a></code>, <code><a cbot|grab>grab</a></code>, <code><a cbot|drop>drop</a></code>, etc."
msgstr "Instrukcja <c/>errmode();<n/> pozwala wybrać, czy program powinien zatrzymywać się w przypadku wystąpienia błędu w wykonywaniu jednej z następujących instrukcji: <code><a cbot|goto>goto</a></code>, <code><a cbot|move>move</a></code>, <code><a cbot|grab>grab</a></code>, <code><a cbot|drop>drop</a></code>, itd."
msgid "Normally the program is stopped when an error occurs. If you use the instruction <c/>errmode(0);<n/> at the beginning of the program, the instructions listed above return a value different from zero if the instruction could not be performed."
msgstr "Zwykle program zatrzymuje się po wystąpieniu błędu. Po użyciu instrukcji <c/>errmode(0);<n/> na początku programu, wymienione powyżej instrukcje dają w wyniku wartość różną od zera jeśli instrukcja nie mogła być wykonana."
msgid "Multiplications and divisions are performed before additions and subtractions. In order to be sure that the operations are performed in the right order, use brackets: "
msgstr "Mnożenie i dzielenie wykonywane jest przed dodawaniem i odejmowaniem. Aby zapewnić właściwą kolejność wykonywania działań, należy użyć nawiasów: "
msgid "The compound-assignment operators combine the <code>=</code> assignment operator with another binary operator such as <code>+</code> or <code>-</code>. Compound-assignment operators perform the operation specified by the additional operator and then assign the result to the left operand. For example, a compound-assignment expression such as "
msgstr "Złożone operatory przypisania to operator przypisania <code>=</code> z innym operatorem binarnym, takim jak <code>+</code> lub <code>-</code>. Złożone operatory przypisania wykonują działanie określona przez dodatkowy operator a wynik przypisują lewej stronie działania. Na przykład poniższe wyrażenie: "
msgid "The operators <code>++</code> and <code>--</code> allow you to increment (++) or to decrement (--) a variable in very compact and efficient manner."
msgstr "Operatory <code>++</code> i <code>--</code> umożliwiają wygodny i zwarty zapis zwiększania (++) lub zmiejszania (--) zmiennych."
msgid "The value of the expression <code>a++</code> is the value of the variable <code>a</code> before the increment. If you use the prefix operator <code>++a</code> the value of the expression is the value of the variable <code>a</code> after the increment. The same holds for the <code>--</code> decrement operator."
msgstr "Wartością wyrażenia <code>a++</code> jest wartość zmiennej <code>a</code> przed jej zwiększeniem. Użycie operatora przedrostkowego <code>++a</code> powoduje, że wartością wyrażenia jest wartość zmiennej <code>a</code> po jej zwiększeniu. To samo dotyczy operatora zmniejszania <code>--</code>."
msgid "The <code>extern</code> instruction determines the <a cbot|function>function</a> that acts as main program of a robot. The name of the function declared with <code>extern</code> will apear in the program list in the lower left corner of the screen."
msgstr "Instrukcja <code>extern</code> wyróżnia <a cbot|function>funkcję</a>, która jest głównym programem robota. Nazwa funkcji zadeklarowanej jako <code>extern</code> pojawi się na liście programów w lewej dolnej części ekranu."
msgid "Use the syntax above for declaring a file handle. You must use () to create an instance of the <code>file</code> class. Without the () the handle would have the value <code><a cbot|null>null</a></code>."
msgstr "Powyższej składni należ używać do deklarowania zmiennej plikowej. Konieczne jest użycie () do utworzenia instancji klasy <code>file</code>. Bez (), handle będzie wskazywać na <code><a cbot|null>null</a></code>."
msgid "Files can only be created and opened in the files/ folder which is located in the folder where Colobot has been installed. You cannot not create or open files elsewhere than in the files/ folder."
msgstr "Pliki mogą być tworzone i otwierane tylko w folderze files/, który znajduje sie w folderze instalacji gry Colobot. Nie jest możliwe tworzenie ani otwieranie plików poza folderem files/."
msgid "<code>file</code> is actually not a simple type but a class. <code>open</code>, <code>close</code>, <code>writeln</code> etc. are methods of the <code>file</code> class. This is the reason why we always write <code>handle.method()</code>¦:"
msgstr "<code>file</code> w rzeczywistości nie jest typem prostym ale klasą. <code>open</code>, <code>close</code>, <code>writeln</code> itd. są metodami klasy <code>file</code>. Dlatego zawsze należy pisać <code>handle.method()</code>¦:"
msgid "Fires the gun, with a burst that lasts a certain time. The longer the burst, the more energy it needs. This instruction can be used with the following bot types: "
msgstr "Strzela serią trwającą określony czas. Im dłuższa seria, tym więcej energii jest zużywane. Instrukcja ta może być używana przez następujące typy robotów: "
msgid "Use this type for most variables that contains numbers. Variables of this type can contain positive and negative numbers, whole or real numbers, for example: "
msgstr "Typ ten jest używany dla większości zmiennych zawierających liczby. Zmienne tego typu mogą zawierać liczby dodatnie i ujemne, zarówno całkowite jak i rzeczywiste, na przykład: "
msgid "The instructions <code><a cbot|break>break</a></code> and <code><a cbot|continue>continue</a></code> can be useful inside a block following the instruction <code>for </code>."
msgstr "Instrukcje <code><a cbot|break>break</a></code> i <code><a cbot|continue>continue</a></code> mogą być przydatne wewnątrz bloku instrukcji <code>for </code>."
msgid "The most current use consists in moving the bot to an object located with the instruction <c/><a cbot|radar>radar</a>();<n/>. If the information returned by the <c/><a cbot|radar>radar</a>();<n/> has been stored in a certain variable, write the name of the variable followed by <code>.position</code> in order to get the position of the object. Here is an example of a program that looks for a <a object|titan>titanium cube</a>, goes to the position and grabs it:"
msgstr "Najczęstsze użycie polega na wysłaniu robota do obiektu zlokalizowanego przy użyciu instrukcji <c/><a cbot|radar>radar</a>();<n/>. Jeśli jego dane zastały zapisane w zmiennej, należy po nazwie zmiennej napisać <code>.position</code> aby otrzymać pozycję obiektu. Oto przykładowy program znajdujący <a object|titan>kostkę tytanu</a> idący na jej pozycję i podnoszący ją:"
msgid "Flight altitude for <a object|botgj>winged bots</a>. The altitude is useful only for <a object|botgj>winged bots</a>. From the initial altitude, the bot climbs higher until it reaches the specified hight. When arriving close to destination, it goes down to touch the ground at the given position. If no value is given, an altitude of 10 meters is the default value. On very short moves, even winged bot stay on the ground. For all bot except winged bots, this parameter is ignored. "
msgstr "Wysokość lotu <a object|botgj>robota latającego</a>. Parametr ten jest użyteczny tylko w przypadku <a object|botgj>robota latającego</a>. Z wysokości początkowej, robot wznosi się do góry, do czasu osiągnięcia określonej wysokości. Po zbliżeniu się do miejsca docelowego, zmniejsza wysokość, aby opaść na ziemię w zadanej pozycji. Jeśli nie określono wysokości, domyślną wartością jest 10 metrów. Przy bardzo krótkich trasach, nawet robot latający może poruszać się po ziemi. Parametr ten jest ignorowany dla wszystkich robotów poza robotem latającym. "
"Normally an error stops the program. You can prevent the program from stopping on errors by using the <code><a cbot|errmode>errmode</a>(0)</code> instruction. A value different from zero if an error occurred is then returned by <code>goto()</code>.\n"
"Zwykle wystąpienie błędu powoduje zatrzymanie programu. Można wyłączyć zatrzymywanie się programu w przypadku wystąpienia błędu, używając instrukcji <code><a cbot|errmode>errmode</a>(0)</code>. Wtedy w przypadku wystąpienia błędu instrukcja <code>goto()</code> zwraca w wyniku wartość różną od zera.\n"
msgid "The instruction <c/>grab();<n/> instructs the bot to use the operating arm to grab an object located on the ground, on the platform of a building or on the power cell location of a bot."
msgstr "Instrukcja <c/>grab();<n/> rozkazuje robotowi podnieść za pomocą ramienia chwytającego przedmiot znajdujący się na ziemi, platformie budynku lub miejscu na ogniwo robota."
msgid "The instruction <c/>grab();<n/> written in this form grabs the object located in front of the bot. Here is a short program that grabs an object in front of the bot and drops it 5 meters further:"
msgstr "Instrukcja <c/>grab();<n/> napisana w ten sposób, podniesie przedmiot znajdujący się przed robotem. Oto krótki program podnoszący przedmiot przed robotem i upuszczający go 5 metrów dalej:"
"Parametr oper określa gdzie robot powinien szukać przedmiotu do podniesienia. Jeśli nie jest to określone, podnoszony jest obiekt znajdujący się przed robotem:\n"
"Normally an error stops the program. You can prevent the program from stopping on errors by using the <code><a cbot|errmode>errmode</a>(0)</code> instruction. A value different from zero if an error occurred is then returned by <c/>grab();<n/>.\n"
"Zwykle wystąpienie błędu powoduje zatrzymanie programu. Można wyłączyć zatrzymywanie się programu w przypadku wystąpienia błędu, używając instrukcji <code><a cbot|errmode>errmode</a>(0)</code>. Wtedy w przypadku wystąpienia błędu instrukcja <c/>grab();<n/> zwraca w wyniku wartość różną od zera.\n"
msgid "With the instruction <code>if() {}</code> you can execute a set of instructions only if a certain condition is true. Write the condition in brackets <code>()</code>, and the instructions in braces <code>{}</code>."
msgstr "Używając instrukcji <code>if() {}</code> można uzależnić wykonanie zbioru instrukcji od spełnienia określonego warunku. Warunek należy zapisać w nawiasach <code>()</code>, a instrukcje w nawiasach klamrowych <code>{}</code>."
msgid "You can also test if an object exists at all. If the instruction <c/><a cbot|radar>radar</a>();<n/> does not find the requested object, it returns the value <code>null</code>. So you can test if an object does not exists with the condition <code>(item == null)</code>, or test if it exists with <code>(item != null)</code>. Two equal signs <code>==</code> test equality, an exclamation mark followed by an equal sign <code>!=</code> test inequality. Here is a test that will go to rechage the <a object|power>power cell</a> only if there is a <a object|station>power station</a>:"
msgstr "Można też sprawdzić czy obiekt istnieje w ogóle. Jeśli instrukcja <c/><a cbot|radar>radar</a>();<n/> nie znajdzie żądanego obiektu, zwraca wartość <code>null</code>. Można więc sprawdzić czy obiekt istnieje, warunkiem <code>(item != null)</code> lub czy nie istnieje <code>(item == null)</code>. Dwa znaki równości <code>==</code> sprawdzają równość, znak równości poprzedzony wykrzyknikiem <code>!=</code> sprawdza nierówność. Oto program testowy, który będzie ładował <a object|power>ogniwa elektryczne</a> tylko wtedy, gdy znajdzie <a object|station>stację energetyczną</a>:"
"With this conditional structure you can execute a <a cbot|bloc>bloc</a> A or a <a cbot|bloc>bloc</a> B depending on a <a cbot|cond>condition</a>. If the condition is true, bloc A is executed. If the condition is false, bloc B is executed. \n"
"Przy użyciu tej struktury warunkowej można wykonać <a cbot|bloc>blok</a> A lub <a cbot|bloc>blok</a> B w zależności od <a cbot|cond>warunku</a>. Jeśli warunek jest prawdziwy, wykonywany jest blok A. Jeśli warunek jest fałszywy, wykonywany jest blok B. \n"
msgid "Direct control of the jet of a <a object|botgj>winged bot</a>. The jet is what makes the bot fly. Use this instruction in order to take off, climb, descend or land."
msgstr "Umożliwia bezpośrednią kontrolę nad silnikiem odrzutowym <a object|botgj>robota latającego</a>. Silnik odrzutowy umożliwia robotom latanie. Instrukcja ta może służyć do wznoszenia się, zwiększania i zmniejszania wysokości lotu oraz lądowania."
msgid "Power of the jet, ranges between <code>-1</code> and <code>+1</code>. <c/>jet(1);<n/> instructs the bot to climb as fast as possible, <c/>jet(-1);<n/> descends as fast as possible, <c/>jet(0);<n/> stabilizes the altitude. In order to get slower altitude changes, use intermediate values, for example <c/>jet(0.3);<n/>."
msgstr "Moc silnika odrzutowego, może zawierać się w zakresie od <code>-1</code> do <code>+1</code>. <c/>jet(1);<n/> to sposób na najszybsze wznoszenie się robota, <c/>jet(-1);<n/> zmniejsza wysokość tak szybko, jak to możliwe, <c/>jet(0);<n/> utrzymuje stałą wysokość. W celu uzyskania wolniejszych zmian wysokości, należy użyć wartości pośrednich, na przykład <c/>jet(0.3);<n/>."
msgid "The speed given to the motors will remain constant during the execution of the following instructions. Thanks to this characteristic it is possible to perform a rotation during the instruction <c/><a cbot|fire>fire</a>();<n/>. This will sweep a whole zone with only one burst. Here is an example that will sweep the zone in front of the bot:"
msgstr "Prędkość nadana robotowi pozostaje niezmienna podczas wykonywania następujących instrukcji. Dzięki temu możliwe jest obracanie robota podczas wykonywania instrukcji <c/><a cbot|fire>fire</a>();<n/>. Pozwala to na omiecenie całego obszaru jedną serią. Oto program omiatający całą strefę przed robotem:"
msgid "With the left-hand motor turning half-speed forward and the right-hand motor turning half-speed backward, the bot will turn slowly on itself during the 2-second-burst."
msgstr "Z lewym silnikiem obracającym się z połową prędkości do przodu i prawym obracającym się z połową prędkości do tyłu, robot będzie się powoli obracał podczas 2 sekundowej serii strzałów."
msgid "Gives speed instructions to the right and left motors of the robot. The motors will keep this speed until a new motor instruction is performed, or until a <code><a cbot|move>move</a></code>, <code><a cbot|turn>turn</a></code> or <code><a cbot|goto>goto</a></code> instruction is performed."
msgstr "Ustala prędkości prawego i lewego silnika. Silniki będą poruszały się z tą prędkością do czasu ustalenia nowej prędkości silników lub wykonania jednej z instrukcji: <code><a cbot|move>move</a></code>, <code><a cbot|turn>turn</a></code> lub <code><a cbot|goto>goto</a></code>."
msgid "The instruction <c/>move();<n/> instructs the bot to move forward or backward while keeping the same orientation. In brackets you must specify the length of the move in meters."
msgstr "Instrukcja <c/>move();<n/> rozkazuje robotowi poruszać się do przodu lub do tyłu przy zachowaniu niezmiennej orientacji. W nawiasie należy podać odległość (w metrach) o jaką powinien przemieścić się robot."
msgid "If you want the bot to move forward 30 meters, write <c/>move(30);<n/>. In order to move the bot backward after it dropped a chunk of <a object|titanore>titanium ore</a> on the <a object|convert>converter</a>, write <c/>move(-2.5);<n/>."
msgstr "Aby robot przemieścił się do przodu o 30 metrów, należy napisać <c/>move(30);<n/>. Aby robot cofnął się po umieszczeniu <a object|titanore>rudy tytanu</a> w <a object|convert>hucie</a>, należy napisać <c/>move(-2.5);<n/>."
"Normally an error stops the program. You can prevent the program from stopping on errors by using the <code><a cbot|errmode>errmode</a>(0)</code> instruction. A value different from zero if an error occurred is then returned by <code>move()</code>.\n"
"Zwykle wystąpienie błędu powoduje zatrzymanie programu. Można wyłączyć zatrzymywanie się programu w przypadku wystąpienia błędu, używając instrukcji <code><a cbot|errmode>errmode</a>(0)</code>. Wtedy w przypadku wystąpienia błędu instrukcja <c/>move();<n/> zwraca w wyniku wartość różną od zera.\n"
"This special value indicates that a <a cbot|var>variable</a> of type <code><a cbot|int>int</a></code> or <code><a cbot|float>float</a></code> contains no number, but \"nothing\". \n"
"For example, if the instruction <code><a cbot|receive>receive</a></code> can not get the requested information, it returns <code>nan</code> :"
"Specjalna wartość oznaczająca, że <a cbot|var>zmienna</a> typu <code><a cbot|int>int</a></code> lub <code><a cbot|float>float</a></code> nie zawiera liczby ale \"nic\". \n"
"Na przykład jeśli instrukcja <code><a cbot|receive>receive</a></code> nie może uzyskać żądanej informacji, zwraca w wyniku wartość <code>nan</code>:"
msgid "Position of the object on the planet, in meters. The coordinates <code>x</code> and <code>y</code> correspond to the location on a map, the <code>z</code> coordinate corresponds to the altitude above (respectively below) sea level. "
msgstr "Położenie obiektu na planecie, w metrach. Współrzędne <code>x</code> i <code>y</code> odnoszą się do położenia na mapie, współrzędna <code>z</code> odpowiada wysokości nad (lub odpowiednio pod) poziomem morza. "
msgid "Orientation of the object, in degrees. The orientation tells you what direction the object is facing. An orientation of <code>0</code> corresponds to an object facing eastwards, thus following the positive <code>x</code> axis. The orientation is measured counterclockwise. "
msgstr "Orientacja obiektu, w stopniach. Określa kierunek, w którym obrócony jest obiekt. Wartość <code>0</code> odpowiada orientacji na wschód, zgodnie z dodatnią osią <code>x</code>. Orientacja liczona jest przeciwnie do ruchu wskazówek zegara. "
msgid "Forward/backward angle of the robot. A pitch of <code>0</code> means that the bot is standing on flat ground. A positive inclination means that it is facing upwards, a negative inclination means that it is facing downwards. "
msgstr "Pochylenie robota w przód/tył. Wartość <code>0</code> oznacza, że robot stoi na płaskim terenie. Wartość dodatnia oznacza, że robot \"patrzy\" w górę, wartość ujemna, że w dół. "
msgid "Left/right angle of the bot, in degrees. A positive value means that the bot is leaning to the left side, a negative value means that it is leaning to the right side. "
msgstr "Pochylenie robota w lewo/prawo. Wartość dodatnia oznacza, że robot jest przechylony na lewą stronę, wartość ujemna, że na prawą. "
msgid "Energy level, between 0 and 1. A normal <a object|power>power cell</a> that is fully charged returns the value <code>1</code>. A <a object|atomic>nuclear power cell</a> never returns a value higher than 1, it just lasts longer. Attention: The energy level of a bot is always zero, because the energy is not contained in the bot, but in the power cell. To know the energy level of the power cell of a bot, you must write <code>energyCell.energyLevel</code>. "
msgstr "Poziom energii, pomiędzy 0 i 1. Dla w pełni naładowanego <a object|power>zwykłego ogniwa elektrycznego</a> zwracana jest wartość <code>1</code>. <a object|atomic>Atomowe ogniwo elektryczne</a> nigdy nie zwraca wartości większej niż 1, jedynie działa dłużej. Uwaga: Poziom energii robota zawsze jest równy zero, gdyż energia nie jest zawarta w robocie ale w ogniwie elektrycznym. Aby poznać poziom energii ogniwa elektrycznego robota, należy napisać <code>energyCell.energyLevel</code>. "
"Shield level of a robot or building. A level <code>1</code> indicates that the shield is still perfect. Every time that the bot or building gets a bullet or collides with another object, the shield level decreases. When the level reaches <code>0</code>, the next bullet or collision will destroy the bot or building. \n"
"Bots can re-energize their shield on a <a object|repair>repair center</a>. The shield of a building is repaired if it lays inside the protection sphere of a <a object|botshld>shielder</a>."
"Poziom osłony robota albo budynku. Wartość <code>1</code> oznacza w pełni sprawną osłonę. Za każdym uderzeniem pocisku lub zderzeniem z innym obiektem, zmniejsza się poziom osłony. Gdy osiągnie on <code>0</code>, następny pocisk bądź zderzenie spowoduje zniszczenie robota albo budynku. \n"
"Roboty mogą zregenerować osłony w <a object|repair>warsztacie</a>. Powłoka budynku regenerowana jest gdy znajdzie się w zasięgu sfery ochronnej robota <a object|botshld>osłaniacza</a>."
msgid "Temperature of the jet of <a object|botgj>winged bots</a>. <code>0</code> corresponds to a cold jet. When used, the temperature increases progressively. When it reaches the value <code>1</code>, the jet is overheated and stops working, until it cooled down a little. "
msgstr "Temperatura silnika odrzutowego <a object|botgj>robotów latających</a>. <code>0</code> odpowiada zimnemu silnikowi. W miarę używania, wzrasta jego temperatura. Gdy osiągnie wartość <code>1</code>, silnik przegrzewa się i przestaje działać do czasu ostygnięcia. "
msgid "The <code>z</code> coordinate of the position indicates the altitude above sea level, whereas the <code>altitude</code> indicates the height above ground. This value is meaningful only for <a object|botgj>winged bots</a> and for <a object|wasp>wasps</a>. For all other objects, this value is zero. "
msgstr "Współrzędna <code>z</code> oznacza wysokość nad poziomem morza, podczas gdy <code>altitude</code> oznacza wysokość nad poziomem ziemi. Wartość ta ma znaczenie jedynie dla <a object|botgj>robotów latających</a> i <a object|wasp>os</a>. Dla pozostałych obiektów jest zerowa. "
"This information is special, because it returns the information about another object, in this case the power pack. This means that energyCell contains all the characteristics of a normal object, for example <code>category</code> (PowerCell or NuclearCell), <code>position</code> (the position of the cell), etc.\n"
"If you want to know the energy level of a robot, you must not check <code>energyLevel</code>, but <code>energyCell.energyLevel</code>.\n"
"If the bot has bot no power cell, <code>energyCell</code> returns <code>null</code>."
"Jest to specjalna informacja, gdyż zwraca informacje o innym obiekcie, w tym przypadku ogniwie elektrycznym. Oznacza to, że energyCell zawiera wszystkie charakterystyki normalnego obiektu, na przykład <code>category</code> (PowerCell lub NuclearCell), <code>position</code> (pozycję ogniwa), itp.\n"
"Aby poznać poziom energii robota, zamiast <code>energyLevel</code>, należy sprawdzić <code>energyCell.energyLevel</code>.\n"
"Jeśli robot nie zawiera ogniwa elektrycznego, <code>energyCell</code> jest równe <code>null</code>."
msgid "This information also returns the description of a whole object: the description of the object carried by a <a object|botgr>grabber</a>. If it carries nothing, <code>load</code> returns <code>null</code>."
msgstr "Ta informacja również zwraca opis całego obiektu, a mianowicie opis obiektu trzymanego przez <a object|botgr>transporter</a>. Jeśli nie niesie on niczego, <code>load</code> jest równe <code>null</code>."
msgid "Open a text file in the files/ folder. This is a method of the <code><a cbot|file>file</a></code> class. This is the reason why we always write <code>handle.open()</code>¦:"
msgstr "Otwiera plik tekstowy w folderze files/. Jest to metoda klasy <code><a cbot|file>file</a></code>, dlatego zawsze należy używać konstrukcji <code>handle.open()</code>¦:"
msgid "Files can only be created and opened in the files/ folder which is located in the folder where Colobot has been installed. You cannot not create or open files that are located elsewhere than in the files/ folder."
msgstr "Pliki mogą być tworzone tylko w folderze files/ znajdującym się w folderze, w którym została zainstalowana gra Colobot. Nie jest możliwe tworzenie ani otwieranie plików znajdujących się w innych folderach."
msgid "<c/>openfile();<n/> opens an text file in the files/ folder. This is not a method of the <code><a cbot|file>file</a></code> class but openfile returne a <a cbot|pointer>reference</a> to a new instance of the file class. You must supply two parameters, the filename and the opening mode."
msgstr "Instrukcja <c/>openfile();<n/> otwiera plik tekstowy w folderze files/. Nie jest to metoda klasy <code><a cbot|file>file</a></code> ale zwraca ona <a cbot|pointer>wskaźnik</a> do nowej instancji klasy file. Należy określić dwa parametry, nazwę pliku i tryb otwarcia."
"Variables of this type contain the coordinates of a point in space. This type is made of three values that represent the <code>x</code>, <code>y</code> and <code>z</code> coordinates.\n"
"<code>x</code> and <code>y</code> correspond to the place on the ground. The positive <code>x</code> axis faces towards east, the positive <code>y</code> axis faces towards north. \n"
"The <code>z</code> value corresponds to the altitude above sea level. "
"Zmienne tego typu zawierają współrzędne punktu w przestrzeni. Składa się on z trzech wartości reprezentujących współrzędne <code>x</code>, <code>y</code> oraz \\ c;z<n/>.\n"
"<code>x</code> i <code>y</code> odpowiadają miejscu na powierzchni ziemi. Dodatnia oś <code>x</code> wskazuje wschód, dodatnia oś <code>y</code> wskazuje północ. \n"
"Wartość <code>z</code> odpowiada wysokości nad poziomem morza. "
msgid "CBOT uses references for <a cbot|class>classes</a> and <a cbot|array>arrays</a>. Any class variable actually contains a reference to the instance. The instance actually contains the class fields. Several references can reference the same instance. A <code><a cbot|null>null</a></code> reference references nothing. You can compare an instance to a suitcase and a reference to a carrier. Each time we need a new suitcase we create a new instance with a carrier. But a suitcase can be carried by more than one carrier. A carrier who carries no suitcase is a <code><a cbot|null>null</a></code> reference."
msgstr "CBOT używa odwołań do <a cbot|class>klas</a> i <a cbot|array>tablic</a>. Każda zmienna w rzeczywistości zawiera odwołanie do instancji. Instancja natomiast zawiera pola klasy. Wiele wskaźników może odwoływać się do tej samej instancji. Wskaźnik <code><a cbot|null>null</a></code> nie odwołuje się do niczego. Instancję można porównać do teczki, a wskaźnik do trzymającego. Za każdym razem gdy potrzebujemy nowej teczki, tworzymy nową instancję z trzymającym. Ale teczka może być trzymana przez więcej niż jedną osobę. Osoba nie trzymająca żadnej teczki to wskaźnik na <code><a cbot|null>null</a></code>."
msgid "If you pass a <a cbot|class>class</a> instance as parameter to a function, the function only receives a reference to the instance. That means if you modify the instance in the function, the instance that has been specified by the caller will be actuallay modified."
msgstr "W przypadku przekazania instancji <a cbot|class>klasy</a> jako parametru funkcji, funkcja otrzymuje wskaźnik do tej instancji. Oznacza to, że w przypadku modyfikacji instancji wewnątrz funkcji, zostanie zmodyfikowana instancja podana przy wywołaniu funkcji jako parametr."
msgid "The instance containing the field <code>a = 33</code> is referenced only by the newly created instance <code>item</code> inside the fucntion <code>Test</code>. At the end of <code>Test</code> this newly created instance referenced by <code>item</code> is automatically deleted."
msgstr "Instancja zawierająca pole <code>a = 33</code> jest wskazywana tylko przez nowoutworzoną instancję <code>item</code> wewnątrz funkcji <code>Test</code>. Na końcu funkcji <code>Test</code> ta instancja wskazywana przez <code>item</code> jest automatycznie usuwana."
msgid "<a cbot|class>Class</a> members can be <a cbot|public>public</a> (by default) or private. A member can be declared private by putting <code>private</code> before the type declaration of the member. Private members are not accessible from outside the class definition."
msgstr "Elementy <a cbot|class>klasy</a> mogą być <a cbot|public>publiczne</a> (domyślnie) lub prywatne. Aby zadeklarować element jako prywatny, należy umieścić instrukcję <code>private</code> przed deklaracją jego typu. Elementy prywatne nie są widoczne poza definicją klasy."
msgid "If you put <code>public</code> before a <a cbot|function>function</a> definition, you can make the function available to programs in other bots in the same mission."
msgstr "Umieszczenie instrukcji <code>public</code> przed definicją <a cbot|function>funkcji</a> sprawi, że funkcja będzie dostępna dla innych robotów podczas tej misji."
msgid "If you have declared a function <code>public</code>, you cannot define a function with the same name and arguments in another bot of the same mission."
msgstr "Jeśli funkcję zadeklarowano jako <code>public</code>, nie można zadeklarować funkcji o tej samej nazwie i parametrach w innym robocie podczas tej samej misji."
msgid "If a bot containing a <code>public</code> function is destroyed, the other bots that make use of this function will be stopped with an error."
msgstr "Jeśli robot zawierający funkcję zadeklarowaną jako <code>public</code> zostanie zniszczony, inne roboty używające tej funkcji zatrzymają się sygnalizując wystąpienie błędu."
msgid "<a cbot|class>Class</a> members can be public (by default) or <a cbot|private>privat</a>. A member can be declared private by putting <code>private</code> before the member type. Private members are not accessible from outside the class definition."
msgstr "Elementy <a cbot|class>klasy</a> mogą być publiczne (domyślnie) lub <a cbot|private>prywatne</a>. Aby zadeklarować element jako prywatny, należy umieścić instrukcję <code>private</code> przed deklaracją jego typu. Elementy prywatne nie są dostępne poza definicją klasy."
msgid "With the instruction <code>radar()</code>, you can look for objects like <a object|mother>enemies</a>, bots, buildings or raw materials."
msgstr "Przy użyciu instrukcji <code>radar()</code>, można znajdować różne obiekty, takie jak <a object|mother>wrogów</a>, roboty, budynki lub surowce."
msgid "Write in brackets the <a cbot|category>name of the object</a> that you look for. Put the result in a variable of the <a cbot|type>type</a> <code>object</code>. Here is an example that looks for the closest ant:"
msgstr "W nawiasach należy napisać <a cbot|category>nazwę poszukiwanego obiektu</a>. Wynik należy umieścić w zmiennej <a cbot|type>typu</a> <code>object</code>. Oto przykład znajdujący najbliższą mrówkę:"
msgid "<a cbot|category>Category</a> of the objects that should be detected. For example, when you are looking for an ant, write <code>radar (AlienAnt)</code>. "
msgstr "<a cbot|category>Kategoria</a> poszukiwanego obiektu. Na przykład szukając mrówki, należy napisać <code>radar (AlienAnt)</code>. "
msgid "Determines which way the objects are detected. With value <code>1</code>, returns the closest object found in the specified zone. With value <code>-1</code>, the farthest object in the zone will be returned. "
msgstr "Określa sposób wykrywania obiektu. Przy wartości <code>1</code>, znajduje najbliższy obiekt w podanej strefie. Przy wartości<code>-1</code>, znajduje najdalszy obiekt w strefie. "
msgid "Returns the first object found that corresponds to the specified category in the specified zone. If no object was found, returns the value <code><a cbot|null>null</a></code>."
msgstr "Zwraca pierwszy znaleziony obiekt odpowiadający podanej kategorii w podanej strefie. Jeśli nie znaleziono obiektu, zwracana jest wartość <code><a cbot|null>null</a></code>."
msgid "Read one line from an open file in the files/ folder. This is a method of the <code><a cbot|file>file</a></code> class. This is the reason why we always write <code>handle.readln()</code>¦:"
msgstr "Wczytuje jedną linię z otwartego pliku w folderze files/. Jest to metoda klasy <code><a cbot|file>file</a></code>, dlatego też zawsze należy używać konstrukcji <code>handle.readln()</code>¦:"
msgid "The file must have been opened for reading (<code>\"r\"</code>) with the <code><a cbot|open>open</a></code> instruction. <code>readln</code> returns the string containing the whole line but without the end of line characters 0x0D (CR) and 0x0A (LF)."
msgstr "Plik musi być otwarty do odczytu (<code>\"r\"</code>) przy użyciu instrukcji <code><a cbot|open>open</a></code>. Metoda <code>readln</code> zwraca cały wiersz ale bez znaków końca linii 0x0D (CR) i 0x0A (LF)"
msgid "Power of the receiver, which corresponds to maximal distance between the receiver and the exchange post. If the distance is longer, no information is received. Default value is 10 metres."
msgstr "Moc odbiornika, która odpowiada maksymalnej odległości pomiędzy odbiorcą i stacją przekaźnikową. Jeśli odległość jest większa, nie zostanie pobrana żadna informacja. Domyślną wartością jest 10 metrów."
msgid "Value of the retrieved information. If no exchange post is close enough, or if the name of the requested information does not exist in the exchange post, the value <code>nan</code> is returned."
msgstr "Wartość pobranej informacji. Jeśli wystarczająco blisko nie ma żadnej stacji przekaźnikowej, lub jeśli informacja o podanej nazwie nie istnieje, zwracana jest wartość <code>nan</code>."
msgid "Recycles the derelict bot in front of the <a object|botrecy>recycler</a> into a <a object|titan>titanium cube</a>."
msgstr "Odzyskuje surowce z pozostałości robota znajdującego się bezpośrednio przed robotem <a object|botrecy>recyklerem</a> i tworzy <a object|titan>kostkę tytanu</a>."
msgid "Object corresponding to the number. The return value <code><a cbot|null>null</a></code> means that no object corresponds to this number, because the number was too high, and there are not so many objects in the scene. "
msgstr "Obiekt odpowiadający numerowi. Wartość <code><a cbot|null>null</a></code> oznacza, że nie ma obiektu odpowiadającego podanemu numerowi, gdyż nie ma aż tylu obiektów na tej planecie. "
msgid "If the <a cbot|function>function</a> has a return type, the <code>return</code> instruction must be followed by the value to be returned:"
msgstr "Jeśli <a cbot|function>funkcja</a> ma określony typ wyniku, po instrukcji <code>return</code> musi wystąpić wartość, która ma być zwrócona przez funkcję:"
msgid "Characteristics of the object that has been found. The value <code><a cbot|null>null</a></code> means that no object of this category has been found. "
msgstr "Charakterystyka znalezionego obiektu. Wartość <code><a cbot|null>null</a></code> oznacza, że nie znaleziono obiektu o podanej kategorii. "
"Name of the information to be sent to the exchange post. This name is a string: it must be written in quotation marks \"¦\".\n"
"If there is any information having this name, a new entry is created, as far as the total number of entries does not exceed 10. If there is already an information having this name, value is simply replaced by the new."
"Nazwa informacji wysyłanej do stacji przekaźnikowej. Jest to łańcuch, który powinien być zapisany w cudzysłowach \"¦\".\n"
"Jeśli nie ma informacji o podanej nazwie, tworzony jest nowy wpis, o ile ich liczba nie przekroczy 10. Jeśli istnieje już informacja o podanej nazwie, zastępowana jest ona nową wartością."
msgid "Activates or deactivates the shield of the <a object|botshld>ahielder</a>. You can of course move the shielder when the shield is active. It protects all objects that are inside the shielded sphere from enemy fire. The radius of the sphere can range between 10 and 25 meters."
msgstr "Aktywuje lub dezaktywuje osłonę robota <a object|botshld>osłaniacza</a>. Oczywiście można poruszać robotem przy aktywnej osłonie. Zabezpiecza ona wszystkie obiekty znajdujące się wewnątrz strefy przed atakami wroga. Promień sfery może się zawierać pomiędzy 10 a 25 metrami."
"A normal <a object|power>power cell</a> fully charged can maintain the shield active during 20 seconds. When the cell is empty, the shield deactivates."
"Zwykłe, w pełni naładowane <a object|power>ogniwo elektryczne</a> wystarcza na 20 sekund aktywności osłony. Gdy ogniwo się wyczerpie, osłona jest wyłączana."
msgid "In this example we have 6 elements in the array after <code>a[5]=345</code>. The non initialized elements <code>[0]</code>, <code>[1]</code>, <code>[2]</code>, <code>[3]</code> and <code>[4]</code> will be counted."
msgstr "W tym przykładzie po operacji <code>a[5]=345</code> tablica ma 6 elementów. Liczone są również następujące niezainicjalizowane elementy: <code>[0]</code>, <code>[1]</code>, <code>[2]</code>, <code>[3]</code> i <code>[4]</code>."
msgid "Sounds the underground in front of the <a object|botsr>sniffer</a>. According to what raw materials were detected, the following objects will be created: "
msgstr "Analizuje grunt przed robotem <a object|botsr>szperaczem</a>. W zależności od wykrytego surowca, pojawia się następujący znacznik: "
msgid "<code>Static</code> members can be declared <code><a cbot|private>private</a></code> so they will be only acessible from within class members (including constructors and destructors)."
msgstr "Elementy <code>static</code> mogą być zadeklarowane jako <code><a cbot|private>private</a></code>, co spowoduje, że będą dostępne tylko dla elementów klasy (włączając konstruktory i destruktory)."
msgid "Convert a string to a number. Don't confuse the string <code>\"45\"</code> that contains actually the two characters <code>4</code> and <code>5</code> and the number <code>45</code>."
msgstr "Zamienia łańcuch na liczbę. Nie należy mylić łańcucha <code>\"45\"</code>, zawierającego dwa znaki <code>4</code> i <code>5</code> oraz liczby <code>45</code>."
msgid "A <a cbot|class>class</a> method can be declared <code>synchronized</code>. This is to make sure that the method is never being executed by more than one bot at the same time."
msgstr "Metoda <a cbot|class>klasy</a> może być zadeklarowana jako <code>synchronized</code>. Dzięki temu można zapewnić, że metoda będzie uruchamiana nie więcej niż przez jednego robota w tym samym czasie."
"What happens if two bots execute the <code>inc</code> method at the same time¦?\n"
"Both of them will execute <code>val=nb</code> and wait 2 seconds so both of them will have <code>val=33</code>. With <code>synchronized</code> the first bot starts execution with <code>val=33</code> and then waits 2 seconds and returns. Only once the first bot has returned from the <code>inc</code> method, the second bot will be allowed to enter the <code>inc</code> method and therefore the second bot will always have <code>val=34</code>."
"Co się dzieje, gdy dwa roboty wykonają metodę <code>inc</code> w tym samym czasie¦?\n"
"Oba wykonają polecenie <code>val=nb</code> i poczekają 2 sekundy, a więc oba otrzymają <code>val=33</code>. Gdy użyjemy instrukcji <code>synchronized</code> pierwszy robot rozpocznie wykonywanie z <code>val=33</code> poczeka 2 sekundy i wyjdzie z metody. Dopiero po zakończeniu wykonywania metody <code>inc</code> przez pierwszego robota, drugi robot będzie miał możliwość wykonania metody <code>inc</code>, wobec czego otrzyma on zawsze <code>val=34</code>."
msgid "You can have more than one synchronized method in your <a cbot|class>class</a> in order to prevent simultaneous execution across more than one method. In other words: as long as a bot's program is inside a synchronized method, no other bot can enter any synchronized method of the same class."
msgstr "Można mieć więcej niż jedną zsynchronizowaną metodę w <a cbot|class>klasie</a> w celu zapobieżenia równoczesnemu wykonywaniu więcej niż jednej metody. Innymi słowy: tak długo, jak długo robot jest wewnątrz zsynchronizowanej metody, żaden inny robot nie może wykonywać żadnej zsynchronizowanej metody tej samej klasy."
msgid "Do not use a semicolon either immediately after the instructions <code><a cbot|while>while</a></code>, <code><a cbot|if>if</a></code> or <code><a cbot|for>for</a></code>:"
msgstr "Nie należy również stosować średnika bezpośrednio po instrukcjach <code><a cbot|while>while</a></code>, <code><a cbot|if>if</a></code> lub <code><a cbot|for>for</a></code>:"
msgid "An instruction is always ended by a semicolon, and not by the end of the line. So you can very well put several instructions on the same line: "
msgstr "Ponieważ instrukcje zawsze kończą się średnikiem a nie znakiem końca linii, można umieścić kilka instrukcji w jednej linii: "
msgid "Power of the transmitter, which corresponds to the maximal distance between the transmitter and the exchange post. If the distance is longer, the function returns <code>false</code>. Default value is 10 metres."
msgstr "Moc transmitera, odpowiadająca maksymalnej odległości pomiędzy transmiterem i stacją przekaźnikową. Jeśli odległość jest większa, funkcja zwraca wartość <code>false</code>. Domyślna wartość to 10 metrów."
msgid "Return <code>true</code> if the information exists. Return and <code>false</code> if the information does not exist or if the receiver is too far away from the exchange post."
msgstr "Daje w wyniku <code>true</code> jesli informacja istnieje, oraz <code>false</code> jeśli informacja nie istnieje lub odbiorca jest za daleko od stacji przekaźnikowej."
msgid "Occasionally, a <a cbot|class>class</a> method needs to know the reference to the instance it is acting upon. For example the instance might want to pass it's own reference to another function. An implicit reference name <code>this</code> is available to methods and <code>this</code> is a reference to the current instance."
msgstr "Czasami metoda <a cbot|class>klasy</a> potrzebuje wskaźnika do instancji, w której działa. Na przykład instancja może chcieć przekazać wskaźnik do samej siebie jako parametr dla innej funkcji. Odwołanie wprost poprzez <code>this</code> jest dostępne również dla metod; <code>this</code> jest odwołaniem do bieżącej instancji."
msgid "You can also put <code>this</code> before a field name in a method but this is not necessary. In the example above in the method <code>MyFunction()</code> following two lines have strictly the same meaning:"
msgstr "Można również umieścić <code>this</code> przed nazwą pola w metodzie, ale nie jest to konieczne. W powyższym przykładzie metody <code>MojaFunkcja()</code> następujące dwie linie mają identyczne znaczenie:"
msgid "However if a field name is hidden by a parameter declaration or a variable declaration you must use <code>this</code>. In the following example the name <code>value</code> of the parameter is the same as the name of the field <code>value</code> of the <a cbot|class>class</a> <code>MyClass</code>, we must therefore write <code>this.value</code> in order to distinguish the field from the parameter."
msgstr "Jednakże jeśli nazwa pola jest ukryta poprzez deklarację parametru lub zmiennej, należy użyć <code>this</code>. W następującym przykładzie nazwa parametru <code>value</code> jest taka sama jak nazwa pola <code>value</code> w <a cbot|class>klasie</a> <code>MojaKlasa</code>, wobec tego w celu rozróżnienia pola od parametru, konieczne jest napisanie <code>this.value</code>."
msgid "Activates the weapon system of the <a object|bottump>thumper</a>, that turns ants and spiders belly up and makes them completely harmless for a while."
msgstr "Uruchamia system broni robota <a object|bottump>uderzacza</a>, który przewraca mrówki i pająki do góry brzuchem, powodując ich chwilowe unieszkodliwienie."
msgid "Returns the altitude of the ground at a give position. The altitude zero corresponds to sea level. A negative value indicates that at this position ground is covered with water. "
msgstr "Podaje wysokość gruntu w podanej pozycji. Wysokość zerowa odpowiada poziomowi morza. Wartość ujemna oznacza, że sprawdzany punkt jest przykryty wodą. "
msgid "90 degreed means a quarter turn, 180 degrees means a half turn. A positive angle will perform a counterclockwise rotation, a negative angle means a clockwise rotation. Here are some examples with <c/>turn();<n/>:"
msgstr "90 stopni oznacza ćwierć obrotu, 180 stopni to pół obrotu. Kąt dodatni to obrót przeciwny do ruchu wskazówek zegara, kąt ujemny oznacza obrót zgodny z ruchem wskazówek zegara. Oto kilka przykładów użycia instrukcji <c/>turn();<n/>:"
msgid "In order to turn the bot towards an object found with the instruction <c/><a cbot|radar>radar</a>();<n/>, you must calculate the rotation angle with the instruction <code><a cbot|direct>direction</a>()</code>:"
msgstr "Aby obrócić robota w kierunku obiektu znalezionego przy użyciu instrukcji <c/><a cbot|radar>radar</a>();<n/>, należy obliczyć kąt obrotu przy pomocy instrukcji <code><a cbot|direct>direction</a>()</code>:"
msgid "Angle of the required rotation, in degrees. A positive value turns left, a negative value turns right. <code>turn(180)</code> turns round completely. "
msgstr "Kąt obrotu w stopniach. Wartość dodatnia to obrót w lewo, ujemna - w prawo. <code>turn(180)</code> obraca do tyłu. "
msgid "Once you defined a variable, you can use it to put information in it. However, the information that a variable can contain must always be of the correct type: a variable of type <a cbot|float>float</a> can not contain a string, etc."
msgstr "Po zdefiniowaniu zmiennej można w niej umieszczać informacje. Jednakże informacja, którą może przechowywać zmienna musi być odpowiedniego typu: zmienna typu <a cbot|float>float</a> nie może zawierać łańcucha itd."
msgid "In a program, the name of a type is always written on <format type>green background</format>. If the name of a type is not colored, this means that the name is misspelled. Type names are always written with lower case characters. Here is a list of the different types: "
msgstr "W programie typy zmiennych wyświetlane są na <format type>zielonym tle</format>. Jeśli jest inaczej, prawdopodobnie w nazwie jest literówka. Nazwy typów są zawsze zapisywane małymi literami. Oto lista różnych typów: "
msgid "For example, you can use a variable to count the number of titanium ore units that the grabber has collected and carried to the converter. First, you must find a name for it: the name should not be too long, but explain by itself what the variable is used for. Let's call it <code>countTit</code>. This variable must contain only whole numbers, so choose the type <code>int</code>. At the beginning of the program, you must declare the variable. Then you put the value <code>0</code> into the variable, and every time you grab a titanium ore, you increase the variable by <code>1</code>. At every moment, the variable contains the number of titanium ore units that the grabber collected."
msgstr "Na przykład można użyć zmiennej do liczenia jednostek rudy tytanu zebranych i przeniesionych przez transporter do huty. Najpierw należy ustalić odpowiednią nazwę dla zmiennej: nie powinna być ona zbyt długa, ale powinna wyjaśniać do czego używana jest zmienna. Nazwijmy ją <code>liczTyt</code>. Zmienna ta będzie zawierała tylko liczby całkowite, dlatego odpowiednim dla niej typem będzie <code>int</code>. Na początku programu zmienną trzeba zadeklarować. Następnie można w niej umieścić wartość <code>0</code>, zwiększając ją o <code>1</code> za każdym razem, gdy robot podniesie rudę tytanu. Zmienna ta będzie zawierać liczbę porcji rudy tytanu zebranych do tej pory przez robota."
"You have much freedom in the choice of the name for a variable, you can call them by any name, f. ex.: <code>dist</code>, <code>direct</code>, <code>p2</code>, <code>a</code>, <code>x</code>, <code>nothing_2_shoot_at</code>, etc.\n"
"A variable name must always begin with a letter. It can be followed by any combination of letters, digits or the underscore character <code>_</code>. You can of course not use the keywords of the CBOT language like <code><a cbot|for>for</a></code>, <code><a cbot|while>while</a></code>, <code><a cbot|break>break</a></code>, <code><a cbot|continue>continue</a></code>, <code>do</code>, etc.\n"
"You should be careful about the choice of the names that you give to variables; writing a program can become very difficult if you forget the names of variables or if you do not remember what they are used for. Elaborate your own system to find variable names, and do not use names like <code>Bmo45</code>, <code>a</code> or <code>tgBinX</code>."
"W wyborze nazwy dla zmiennej jest dużo swobody, można ją nazwać dowolnie, np.: <code>odl</code>, <code>kierunek</code>, <code>p2</code>, <code>a</code>, <code>x</code>, <code>nic_do_zestrzelenia</code>, itd.\n"
"Nazwa zmiennej musi zaczynać się od litery, po której może następować dowolna kombinacja liter, cyfr i znaków podkreślenia <code>_</code>. Oczywiście nie można używać słów kluczowych języka CBOT takich jak <code><a cbot|for>for</a></code>, <code><a cbot|while>while</a></code>, <code><a cbot|break>break</a></code>, <code><a cbot|continue>continue</a></code>, <code>do</code>, itd.\n"
"Należy być ostrożnym w wyborze nazw przydzielanych zmiennym; pisanie programu może okazać się bardzo trudne jeśli zapomni się nazwy zmiennych lub nie pamięta do czego one służyły. Należy opracować własny system nazywania zmiennych i raczej nie używać nazw podobnych do <code>Bmo45</code>, <code>a</code> czy <code>tgBinX</code>."
msgid "In the example above, the keyword <code>int</code> indicates that this variable can contain only whole numbers, which is adequate to counting objects. If you want to measure a distance, better use a variable that can contain also real numbers, with a fractional part (like 3.45 or 0.034): in this case, use the type <code>float</code>."
msgstr "W powyższym przykładzie, słowo <code>int</code> określa, że zmienna może zawierać tylko liczby całkowite, odpowiednie do liczenia obiektów. Do mierzenia odległości lepiej jest użyć zmiennej, która może również zawierać liczby rzeczywiste z częścią ułamkową (takie jak 3.45 lub 0.034): w tym przypadku odpowiedniejszy jest typ <code>float</code>."
"The <a cbot|type>type</a> determines what kind of information the variable can contain. According to the type, a variable can contain a whole number, a real number, a string, the coordinates of a point, information about an object, etc. \n"
"<a cbot|type>Typ</a> warunkuje rodzaj informacji, jaką może zawierać zmienna. Zależnie od typu, zmienna może zawierać liczby całkowite, liczby rzeczywiste, łańcuchy, współrzędne punktu, informacje o obiekcie, itd. \n"
"When you assign a value to a variable with the equals sign <code>=</code>, the value on the right side is copied into the value on the left side. Consider the following example: \n"
"Przy wykonywaniu przypisania wartości zmiennej przy użyciu znaku równości<code>=</code>, wartość z prawej strony jest kopiowana do wartości po lewej stronie. Rozważmy następujący przykład: \n"
"If you want to exchange the values of two variables, you must use a third variable. Here is an example to exchange the content of two variables <code>a</code> and <code>b</code> :\n"
"Do zamiany zawartości dwóch zmiennych konieczne jest użycie trzeciej zmiennej. Oto przykład zamieniający zawartość zmiennych <code>a</code> i <code>b</code>:\n"
msgid "In order to wait until the <a object|convert>converter</a> finished transforming some <a object|titanore>titanium ore</a> in a <a object|titan>titanium cube</a>, wait 15 seconds with <c/>wait(15);<n/>."
msgstr "Na przetopienie <a object|titanore>rudy tytanu</a> w <a object|titan>kostkę tytanu</a> w <a object|convert>hucie</a> należy poczekać 15 sekund używając instrukcji <c/>wait(15);<n/>."
msgid "The most frequent use of <code>while</code> consists in repeating a set of instructions again and again. In order to achieve this, write <code>while (true) {}</code> and put the instructions to be repeated in braces <code>{}</code>. As an example, here is a program that repeats again and again the following actions:"
msgstr "Najczęstsze użycie instrukcji <code>while</code> polega na nieskończonym powtarzaniu zbioru instrukcji. Aby to osiągnąć, należy napisać <code>while (true) {}</code>, a instrukcje, które mają być powtarzane zapisać w nawiasach klamrowych <code>{}</code>. Oto przykładowy program powtarzający w nieskończoność następujące czynności:"
msgid "Be careful not to confuse the instruction <code>while( ) { }</code> with the instruction <c/><a cbot|do>do</a> { } while( );<n/>; the latter tests the condition only after the instructions in the block have been performed a first time. "
msgstr "Nie należy mylić instrukcji <code>while( ) { }</code> z instrukcją <c/><a cbot|do>do</a> { } while( );<n/>; ta druga sprawdza warunek dopiero po pierwszym wykonaniu instrukcji w bloku. "
msgid "The instructions <code><a cbot|break>break</a></code> and <code><a cbot|continue>continue</a></code> can be useful inside a block following the instruction <code>while { }</code>."
msgstr "Instrukcje <code><a cbot|break>break</a></code> i <code><a cbot|continue>continue</a></code> mogą być przydatne wewnątrz bloku instrukcji <code>while ( )</code>."
msgid "Write one line of text to an open file in the files/ folder. This is a method of the <code><a cbot|file>file</a></code> class. This is the reason why we always write <code>handle.writeln()</code>¦:"
msgstr "Zapisuje linię tekstu do otwartego pliku w folderze files/. Jest to metoda klasy <code><a cbot|file>file</a></code>, dlatego też zawsze należy używać konstrukcji <code>handle.writeln()</code>¦:"
msgid "The file must have been opened for writing (<code>\"w\"</code>) with the <code><a cbot|open>open</a></code> instruction. The line will automatically be terminated by the end of line characters 0x0D (CR) and 0x0A (LF)."
msgstr "Plik musi być otwarty do zapisu (<code>\"w\"</code>) przy użyciu instrukcji <code><a cbot|open>open</a></code>. Zapisywany wiersz zostanie automatycznie zakończony znakami końca linii 0x0D (CR) i 0x0A (LF)."
"Normally an error stops the program. You can prevent the program from stopping on errors by using the <code><a cbot|errmode>errmode</a>(0)</code> instruction. A value different from zero if an error occurred is then returned by <code>build()</code>.\n"
"<code>== 0 </code>Successfully built\n"
"<code>!= 0 </code>Impossible to build (for example, the nearest titanium cube is too far away or the specified building is not available in the mission)"
msgid "Here is an example of a program that looks for the nearest <a object|titan>titanium cube</a>, goes to the position and builds a <a object|factory>bot factory</a>."
msgid "This command is mostly useful in an attempt to build a fully automatised base, where an <a object|human>astronaut</a> does not need to do anything except starting a program and watching bots working. What is more, it makes beating the game by using only programming a possible task (however, it is a challenge rather for experienced gamers, who beat the whole game at least once)."
msgid "When controlling the robot through programming, the gun can be also turned left or right by turning the whole robot with the instruction <code><a cbot|turn>turn</a></code>."
msgid "The instruction <c/>build();<n/> instructs the bot to build a building of the given <a cbot|category>category</a>. Currently works for <a object|botgc>Grabbers</a>, <a object|human>Me</a> and <a object|tech>Tech</a>."
msgstr ""
#. type: Plain text
#: ../E/buildingenabled.txt:5
#, no-wrap
msgid "It is similar to the <c/><a cbot|canbuild>canbuild();</a><n/> instruction. However, it does not check if a required research has been done."
msgstr ""
#. type: Plain text
#: ../E/canbuild.txt:2
#, no-wrap
msgid "The instruction <c/>canbuild();<n/> lets you know if <a object|botgc>Grabbers</a>, <a object|human>Me</a> or <a object|human>Tech</a> can build a building of the given <a cbot|category>category</a>. "
msgstr ""
#. type: Plain text
#: ../E/canbuild.txt:5
#, no-wrap
msgid "It helps to prevent errors in programs using the <c/><a cbot|build>build();</a><n/> instruction. Here is an example:"
msgid "Arcus tangent (in degrees) of <code>y/x</code>."
msgstr ""
#. type: Plain text
#: ../E/atan2.txt:5
#, no-wrap
msgid "The purpose of using two arguments instead of one is to gather information on the signs of the inputs in order to return the appropriate quadrant of the computed angle, which is not possible for the single-argument <c/><a cbot|atan>atan();</a><n/> function. For example, consider a point <code>(-1, -1)</code>: <c/>atan(-1/-1);<n/> is <code>45.00</code> degrees, whereas <c/>atan2(-1, -1);<n/> is <code>-135.00</code> degrees, which is obviously more correct in this case."
msgstr ""
#. type: \b; header
#: ../E/ceil.txt:1
#, no-wrap
msgid "Instruction <code>ceil</code>"
msgstr ""
#. type: Source code
#: ../E/ceil.txt:3
#, no-wrap
msgid "<c/>ceil ( value );<n/>"
msgstr ""
#. type: Plain text
#: ../E/floor.txt:4
#, no-wrap
msgid "Rounds down a number."
msgstr ""
#. type: Plain text
#: ../E/ceil.txt:10
#, no-wrap
msgid "Ceiling of the value, i.e. the smallest integer not less than <code>value</code>. For example, <code>ceil(2.1)</code> is <code>3.0</code>."
msgid "Truncation is a method of approximating a decimal number by dropping all decimal places past a certain point without rounding. For positive numbers, it works like the <c/><a cbot|floor>floor();</a><n/> function, and for negative numbers, it works like the <c/><a cbot|ceil>ceil();</a><n/> function. It can be said that it rounds towards zero."
msgstr ""
#. type: Plain text
#: ../E/aim.txt:16
#, no-wrap
msgid "Angle in degrees of the gun relative to the robot. A positive value orients the gun to the right. The angle must range from <code>-40</code> to <code>+40</code> degrees for all shooters."
msgid "Function, simply put, is an instruction created by you."
msgstr ""
#. type: \b; header
#: ../E/function.txt:4
#, no-wrap
msgid "Main function"
msgstr ""
#. type: Plain text
#: ../E/function.txt:5
#, no-wrap
msgid "You probably already know how to create a function. Every program in CBOT must have a main function, which looks like this:"
msgstr ""
#. type: Source code
#: ../E/function.txt:7
#, no-wrap
msgid ""
"extern void object::ProgramName()\n"
"{\n"
"\t\n"
"\t// instructions\n"
"\t\n"
"}"
msgstr ""
#. type: Plain text
#: ../E/function.txt:14
#, no-wrap
msgid "Nothing but a name can be changed in a main function. The keyword <code>extern</code> distinguish the main function from others."
msgstr ""
#. type: Plain text
#: ../E/function.txt:17
#, no-wrap
msgid "With functions you can divide your program into several parts. Each of them will execute a specific task. For example, see the following program:"
msgstr ""
#. type: Source code
#: ../E/function.txt:19
#, no-wrap
msgid ""
"extern void object::Remote()\n"
"{\n"
"\tsend(\"order\", 1, 100);\n"
"\twait(5);\n"
"\tsend(\"order\", 3, 100);\n"
"\twait(5);\n"
"\tsend(\"order\", 2, 100);\n"
"\twait(5);\n"
"\tsend(\"order\", 4, 100);\n"
"\twait(5);\n"
"}"
msgstr ""
#. type: Plain text
#: ../E/function.txt:31
#, no-wrap
msgid "<code><a cbot|send>send</a></code> and <code><a cbot|wait>wait</a></code> are repeated several times. So it would be a good thing if we created a function that executes these two instructions:"
msgstr ""
#. type: Source code
#: ../E/function.txt:33
#, no-wrap
msgid ""
"void SendToPost(float op)\n"
"{\n"
"\tsend(\"order\", op, 100);\n"
"\twait(5);\n"
"}\n"
"\n"
"extern void object::Remote()\n"
"{\n"
"\tSendToPost(1);\n"
"\tSendToPost(3);\n"
"\tSendToPost(2);\n"
"\tSendToPost(4);\n"
"}"
msgstr ""
#. type: \b; header
#: ../E/function.txt:49
#, no-wrap
msgid "Syntax"
msgstr ""
#. type: Plain text
#: ../E/function.txt:56
#, no-wrap
msgid "A function must be declared above the main function. Result <a cbot|type>type</a> should be <a cbot/void>void</a> if the function does not give any. Body is just a set of instructions. Function name must be created with the exact same rules applied to <a cbot|var>variables</a>."
msgstr ""
#. type: \t; header
#: ../E/function.txt:58
#, no-wrap
msgid "Parameters"
msgstr ""
#. type: Plain text
#: ../E/function.txt:59
#, no-wrap
msgid "A function can have parameters:"
msgstr ""
#. type: Plain text
#: ../E/function.txt:68
#, no-wrap
msgid "The <code>Example</code> function will receive an <a cbot|int>integer</a> <code>a</code>, a <a cbot|float>floating point number</a> <code>x</code> and a <a cbot|string>string</a> <code>s</code>. Parameters are \"passed by value\", that is the values of parameter variables in a function are copies of the values the caller specified as variables. If you pass an <code><a cbot|int>int</a></code> to a function, its parameter is a copy of whatever value was being passed as the argument, and the function can change its parameter value without affecting values in the code that invoked the function."
msgstr ""
#. type: Plain text
#: ../E/function.txt:70
#, no-wrap
msgid "If you pass a <a cbot|class>class</a> instance or an <a cbot|array>array</a> as parameter to a function, the function only receives a <a cbot|pointer>reference</a> to the instance or the array. That means if you modify the instance or the array in the function, the instance or the array that has been specified by the caller will be actually modified."
msgstr ""
#. type: \t; header
#: ../E/function.txt:72
#, no-wrap
msgid "Result"
msgstr ""
#. type: Plain text
#: ../E/function.txt:73
#, no-wrap
msgid "A function can also return a result with the <code><a cbot|return>return</a></code> instruction. Therefore the function must be declared no longer as <code><a cbot|void>void</a></code> but as an other <a cbot|type>type</a>:"
msgstr ""
#. type: Source code
#: ../E/function.txt:75
#, no-wrap
msgid ""
"float Average(float a, float b)\n"
"{\n"
"\treturn (a+b)/2;\n"
"}\n"
"\n"
"extern void object::Test( )\n"
"{\n"
"\tfloat value;\n"
"\tvalue = Average(2, 6);\n"
"\tmessage(value); // will display 4\n"
"}"
msgstr ""
#. type: Plain text
#: ../E/function.txt:87
#, no-wrap
msgid "Some other examples:"
msgstr ""
#. type: Source code
#: ../E/function.txt:89
#, no-wrap
msgid ""
"float Pi()\n"
"{\n"
"\treturn 3.1415;\n"
"}\n"
"\n"
"string Sign(float a)\n"
"{\n"
"\tif (a > 0) return \"positive\";\n"
"\tif (a < 0) return \"negative\";\n"
"\treturn \"null\";\n"
"}"
msgstr ""
#. type: \b; header
#: ../E/function.txt:102
#, no-wrap
msgid "Overloading"
msgstr ""
#. type: Plain text
#: ../E/function.txt:103
#, no-wrap
msgid "You can declare several functions with the same name but different parameters:"
msgstr ""
#. type: Source code
#: ../E/function.txt:105
#, no-wrap
msgid ""
"float Pythagoras(float a, float b)\n"
"{\n"
"\treturn sqrt((a*a)+(b*b));\n"
"}\n"
"\n"
"float Pythagoras(float a, float b, float c)\n"
"{\n"
"\treturn sqrt((a*a)+(b*b)+(c*c));\n"
"}"
msgstr ""
#. type: Plain text
#: ../E/function.txt:115
#, no-wrap
msgid "CBOT will call either the one or the other function depending on the parameters passed. They must be distinguishable, i.e. you can't declare two functions with the same name and parameter types in the exact same order, e.g. declaring <code>int Pythagoras(float b, float a)</code> will result in error. Note that result type does not matter."
msgstr ""
#. type: \b; header
#: ../E/function.txt:117
#, no-wrap
msgid "Public functions"
msgstr ""
#. type: \b; header
#: ../E/function.txt:120
#, no-wrap
msgid "object::"
msgstr ""
#. type: Plain text
#: ../E/function.txt:121
#, no-wrap
msgid "Declaring a function as a part of the <a cbot|object>object</a> namespace gives it access to <code><a cbot|this>this</a></code> <a cbot|pointer>pointer</a>, in other words, to all available properties of the robot which the program is run on."
msgstr ""
#. type: Plain text
#: ../E/function.txt:47
#, no-wrap
msgid "Now the program is much easier to read. It is a good practice to split the program into several functions with self-describing names."
msgstr ""
#. type: Source code
#: ../E/function.txt:51
#, no-wrap
msgid ""
"result_type FunctionName(optional_parameters)\n"
"{\n"
"\tbody\n"
"}"
msgstr ""
#. type: Source code
#: ../E/function.txt:61
#, no-wrap
msgid ""
"void Example(int a, float x, string s)\n"
"{\n"
"\tmessage(a);\n"
"\tmessage(x);\n"
"\tmessage(s);\n"
"}"
msgstr ""
#. type: Source code
#: ../E/function.txt:123
#, no-wrap
msgid ""
"void object::Example()\n"
"{\n"
"\tmessage(this.category);\n"
"}"
msgstr ""
#~ msgid "Now the program is much easier to read. It's a good practice to split the program into several functions with self-describing names."
#~ "With functions you can divide your program into several parts, each of them will execute a specific task.\n"
#~ "Let's imagine following program¦:"
#~ msgstr ""
#~ "Używając funkcji można podzielić program na kilka części, z których każda będzie wykonywała określone zadanie.\n"
#~ "Wyobraźmy sobie następujący program¦:"
#~ msgid ""
#~ "extern void object::Remote( )\n"
#~ "{\n"
#~ "\tsend(\"order\", 1, 100);\n"
#~ "\twait(5);\n"
#~ "\tsend(\"order\", 3, 100);\n"
#~ "\twait(5);\n"
#~ "\tsend(\"order\", 2, 100);\n"
#~ "\twait(5);\n"
#~ "\tsend(\"order\", 4, 100);\n"
#~ "\twait(5);\n"
#~ "}"
#~ msgstr ""
#~ "extern void object::Zdalnie( )\n"
#~ "{\n"
#~ "\tsend(\"order\", 1, 100);\n"
#~ "\twait(5);\n"
#~ "\tsend(\"order\", 3, 100);\n"
#~ "\twait(5);\n"
#~ "\tsend(\"order\", 2, 100);\n"
#~ "\twait(5);\n"
#~ "\tsend(\"order\", 4, 100);\n"
#~ "\twait(5);\n"
#~ "}"
#~ msgid "<code>send</code> and <code>wait</code> are repeated several times. So it would be a good thing if we created a function that executes these two instructions:"
#~ msgstr "Instrukcje <code>send</code> i <code>wait</code> wykonywane są wielokrotnie. Byłoby dobrze utworzyć funkcję wykonującą te dwie instrukcje:"
#~ msgid ""
#~ "void object::SendToPost( float op )\n"
#~ "{\n"
#~ "\tsend(\"order\", op, 100);\n"
#~ "\twait(5);\n"
#~ "}\n"
#~ "extern void object::Remote( )\n"
#~ "{\n"
#~ "\tSendToPost(1);\n"
#~ "\tSendToPost(3);\n"
#~ "\tSendToPost(2);\n"
#~ "\tSendToPost(4);\n"
#~ "}"
#~ msgstr ""
#~ "void object::WyślijDoStacji( float op )\n"
#~ "{\n"
#~ "\tsend(\"order\", op, 100);\n"
#~ "\twait(5);\n"
#~ "}\n"
#~ "extern void object::Zdalnie( )\n"
#~ "{\n"
#~ "\tWyślijDoStacji(1);\n"
#~ "\tWyślijDoStacji(3);\n"
#~ "\tWyślijDoStacji(2);\n"
#~ "\tWyślijDoStacji(4);\n"
#~ "}"
#~ msgid "A function can have paramteters¦:"
#~ msgstr "Funkcja może mieć parametry¦:"
#~ msgid "void Example( int a, float x, string s )"
#~ msgstr "void Przykład( int a, float x, string s )"
#~ msgid "The <code>Example</code> function will reveive un integer <code>a</code>, a floating point number <code>x</code> and a string <code>s</code>. Parameters are \"passed by value\", that is the values of parameter variables in a function are copies of the values the caller specified as variables. If you pass an <code>int</code> to a function, its parameter is a copy of whatever value was being passed as argument, and the function can change its parameter value without affecting values in the code that invoked the function."
#~ msgstr "Funkcja <code>Przykład</code> dostaje jako parametry liczbę całkowitą <code>a</code>, liczbę zmiennoprzecinkową <code>x</code> oraz łańcuch <code>s</code>. Parametry są \"przekazywane przez wartość\", czyli są kopią wartości określonych jako zmienne podczas wywołania. Przy przekazaniu zmiennej <code>int</code> funkcji, jej parametr jest kopią wartości przekazanej jako argument, wobec czego funkcja może zmieniać wartość parametru bez zmiany wartości w miejscu, z którego była wywołana funkcja."
#~ msgid "If you pass a <a cbot|class>class</a> instance or an <a cbot|array>array</a> as parameter to a function, the function only receives a <a cbot|pointer>reference</a> to the instance or the array. That means if you modify the instance or the array in the function, the instance or the array that has been specified by the caller will be actuallay modified."
#~ msgstr "Przy przekazaniu instancji <a cbot|class>klasy</a> lub <a cbot|array>tablicy</a> jako parametru, funkcja otrzymuje jedynie <a cbot|pointer>wskaźnik</a> do instancji lub tablicy. Oznacza to, że w przypadku modyfikacji instancji lub tablicy wewnątrz funkcji, w rzeczywistości zostanie zmodyfikowana instancja lub tablica określona podczas wywołania."
#~ msgid "A function can also return a result with the <code><a cbot|return>return</a></code> instruction. Therefore the function must be declared no longer as void but as a type:"
#~ msgstr "Funkcja może również zwrócić wynik przy użyciu instrukcji <code><a cbot|return>return</a></code>. Jednakże powinna być wówczas zadeklarowana nie jako void, ale powinna mieć określony typ:"
#~ msgid ""
#~ "float Mean( float a, float b )\n"
#~ "{\n"
#~ "\treturn (a+b)/2;\n"
#~ "}\n"
#~ "\n"
#~ "extern void object::Test( )\n"
#~ "{\n"
#~ "\tfloat value;\n"
#~ "\tvalue = Mean(2, 6);\n"
#~ "\tmessage( value ); // will display 4\n"
#~ "}"
#~ msgstr ""
#~ "float Średnia( float a, float b )\n"
#~ "{\n"
#~ "\treturn (a+b)/2;\n"
#~ "}\n"
#~ "\n"
#~ "extern void object::Test( )\n"
#~ "{\n"
#~ "\tfloat wartość;\n"
#~ "\twartość = Średnia(2, 6);\n"
#~ "\tmessage( wartość ); // wyświetli liczbę 4\n"
#~ "}"
#~ msgid "Some other examples¦:"
#~ msgstr "I jeszcze kilka przykładów¦:"
#~ msgid ""
#~ "float Pi( )\n"
#~ "{\n"
#~ "\treturn 3.1415;\n"
#~ "}\n"
#~ "\n"
#~ "string Sign( float a )\n"
#~ "{\n"
#~ "\tif ( a > 0 ) return \"positive\";\n"
#~ "\tif ( a < 0 ) return \"negative\";\n"
#~ "\treturn \"null\";\n"
#~ "}"
#~ msgstr ""
#~ "float Pi( )\n"
#~ "{\n"
#~ "\treturn 3.1415;\n"
#~ "}\n"
#~ "\n"
#~ "string Znak( float a )\n"
#~ "{\n"
#~ "\tif ( a > 0 ) return \"dodatnia\";\n"
#~ "\tif ( a < 0 ) return \"ujemna\";\n"
#~ "\treturn \"zero\";\n"
#~ "}"
#~ msgid "You can declare several functions with the same name but different parameters¦:"
#~ msgstr "Można zadeklarować kilka funkcji o tej samej nazwie lecz o różnych parametrach¦:"
#~ msgid ""
#~ "float Pythagoras( float a, float b )\n"
#~ "{\n"
#~ "\treturn sqrt((a*a)+(b*b));\n"
#~ "}\n"
#~ "\n"
#~ "float Pythagoras( float a, float b, float c )\n"
#~ "{\n"
#~ "\treturn sqrt((a*a)+(b*b)+(c*c));\n"
#~ "}"
#~ msgstr ""
#~ "float Pitagoras( float a, float b )\n"
#~ "{\n"
#~ "\treturn sqrt((a*a)+(b*b));\n"
#~ "}\n"
#~ "\n"
#~ "float Pitagoras( float a, float b, float c )\n"
#~ "{\n"
#~ "\treturn sqrt((a*a)+(b*b)+(c*c));\n"
#~ "}"
#~ msgid "CBOT will call either the one or the other function depending on the paramteres passed."
#~ msgstr "CBOT wywoła jedną z nich, w zależności od przekazanych parametrów."
#~ msgid "Angle in degrees of the gun relative to the robot. A positive value orients the gun to the right. The angle must range from <code>-40</code> to <code>+40</code> degrees for all shooters. This parameter is optional: if no value is provided, then <code>x = 0</code>."
#~ msgstr ""
#~ msgid "Truncation is a method of approximating a decimal number by dropping all decimal places past a certain point without rounding. For positive numbers, it works like the <c/><a cbot|floor\\n>floor();</a> function, and for negative numbers, it works like the <c/><a cbot|ceil\\n>ceil();</a> function. It can be said that it rounds towards zero."
#~ msgid "The purpose of using two arguments instead of one is to gather information on the signs of the inputs in order to return the appropriate quadrant of the computed angle, which is not possible for the single-argument <c/>\\latan();\\u cbot\\atan;<n/> function. For example, consider a point <code>(-1, -1)</code>: <c/>atan(-1/-1);<n/> is <code>45.00</code> degrees, whereas <c/>atan2(-1, -1);<n/> is <code>-135.00</code> degrees, which is obviously more correct in this case."
#~ msgid "The instruction <c/>build();<n/> instructs the bot to build a building of the given <a cbot|category>category</a>. Currently works for <a bots|botgc>Grabbers</a>, <a object|human>Me</a> and <a object|tech>Tech</a>."
#~ msgstr ""
#~ msgid "The instruction <c/>canbuild();<n/> lets you know if <a bots|botgc>Grabbers</a>, <a object|human>Me</a> or <a object|human>Tech</a> can build a building of the given <a cbot|category>category</a>. "
#~ msgstr ""
#~ msgid "It is similar to the <code><a cbot|canbuild>canbuild</a></code> instruction. However, it does not check if a required research has been done."
#~ msgstr ""
#~ msgid "It helps to prevent errors in programs using the <a cbot|build>build</a> instruction. Here is an example:"
#~ msgstr ""
#~ msgid "The <a cbot|category>category</a> of a building."
#~ msgstr ""
#~ msgid "It helps to prevent errors in programs using <a cbot|build>build</a> instruction. Here is an example:"
#~ msgid "The instruction <c/>canbuild();<n/> instructs the bot to build a building of the given <a cbot|category>category</a>. Currently works for <a bots|botgc>Grabbers</a>, <a object|human>Me</a> and <a object|human>Tech</a>"
#~ msgstr ""
#~ msgid "The instruction <c/>build();<n/> instructs the bot to build a building of the given <a cbot|category>category</a>. Currently works for <a bots|botgc>Grabbers</a>, <a object|human>Me</a> and <a object|human>Tech</a>"
#~ msgid "The instruction <c/>build();<n/> instructs the bot to build a building of the given <a cbot|category>category</a>. Currently works for every bot."
#~ msgid "This instruction sets the vertical and/or the horizontal angle of the cannon. The following robots are equipped with a cannon: "
#~ msgstr ""
#~ msgid "Angle in degrees of the gun relative to the robot. A positive value orients the gun to the right. For shooters and orga shooters, the angle must range from <code>-40</code> to <code>+40</code> degrees. For phazer shooters, the angle must range from <code>-40</code> to <code>40</code> degrees. It is optional: if no value is provided, then <code>x = 0</code>."
#~ msgstr ""
#~ msgid "Angle in degrees of the gun relative to the robot. A positive value orients the gun to the right. For shooters and orga shooters, the angle must range from <code>-20</code> to <code>+20</code> degrees. For phazer shooters, the angle must range from <code>-20</code> to <code>45</code> degrees."
#~ msgstr ""
#~ msgid "<c/>aim ( angle );<n/>"
#~ msgstr "<c/>aim ( kąt );<n/>"
#~ msgid "This instruction sets the vertical angle of the cannon. The following robots are equipped with a cannon: "
#~ msgstr "Instrukcja ta umożliwia zmianę położenia lufy w pionie. Następujące roboty mogą strzelać: "
#~ msgid "This command is mostly useful in an attempt to build a fully automatised base, where an <a object|human>astronaut</a> does not need to do anything except watching bots working. What is more, it makes beating the game by using only programming a possible task (however, it is a challenge rather for experienced gamers, who beat the whole game at least once)."
#~ msgstr ""
#~ msgid "The instruction <c/>build();<n/> instructs the bot to build a building of the given <a cbot|category>categories</a>. Currently works for every bot."
#~ msgstr ""
#~ msgid "The category of a building."
#~ msgstr ""
#~ msgid "Here is an example of a program that looks for a <a object|titan>titanium cube</a>, goes to the position and builds a <a object|factory>bot factory</a>."
#~ msgid "This command is mostly useful in an attempt to build a fully automatised base, where <a object|human>an astronaut</a> does not need to do anything except watching bots working. What is more, it makes beating the game by using only programming a possible task (however, it is rather a challenge for experienced gamers, who beat the whole game at least once)."
#~ msgstr ""
#~ msgid "Here is an example of a program that looks for a <a object|titan>titanium cube</a>, goes to the position and builds <a object|factory>a bot factory</a>."