1# SOME DESCRIPTIVE TITLE 2# Copyright (C) YEAR Free Software Foundation, Inc. 3# This file is distributed under the same license as the PACKAGE package. 4# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. 5msgid "" 6msgstr "" 7"Project-Id-Version: PACKAGE VERSION\n" 8"Report-Msgid-Bugs-To: \n" 9"POT-Creation-Date: DATE\n" 10"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 11"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 12"Language-Team: LANGUAGE <LL@li.org>\n" 13"Language: pl\n" 14"MIME-Version: 1.0\n" 15"Content-Type: text/plain; charset=UTF-8\n" 16"Content-Transfer-Encoding: 8bit\n" 17"X-Generator: Translate Toolkit 1.11.0\n" 18 19#. type: \b; header 20#: ../E/1_SwitchCell.txt:1 21#, no-wrap 22msgid "Programs dispatched by Houston" 23msgstr "Programy przysłane z Houston" 24 25#. type: Plain text 26#: ../E/1_SwitchCell1.txt:2 27#, no-wrap 28msgid "Following is a program that has been developed by our engineers. It allows you to switch <a object|power>power cells</a>. A charged cell needs to be placed on the ground in front of the bot." 29msgstr "Poniżej znajdziesz jeden z programów napisanych przez naszych inżynierów. Umożliwia on prostszą wymianę <a object|power>ogniw elektrycznych</a>. Naładowane ogniwo elektryczne powinno znajdować się przed robotem, na ziemi." 30 31#. type: Plain text 32#: ../E/1_SwitchCell1.txt:4 33#, no-wrap 34msgid "In order to execute this program, select the program <code>SwitchCell1</code> in the list of the programs available on the bot (on the lower left-hand corner of your screen), and click on the arrow symbol <button 21/>." 35msgstr "Aby uruchomić ten program, zaznacz program <code>SwitchCell1</code> na liście dostępnych dla robota programów (w lewej dolnej części ekranu), a następnie kliknij symbol strzałki <button 21/>." 36 37#. type: Source code 38#: ../E/1_SwitchCell1.txt:6 39#, no-wrap 40msgid "" 41"extern void object::SwitchCell1()\n" 42"{\n" 43"\t<a cbot|grab>grab</a>(InFront); // take the new cell in front\n" 44"\t<a cbot|drop>drop</a>(Behind); // and drop it behind\n" 45"\t\n" 46"\t<a cbot|grab>grab</a>(EnergyCell); // take the cell from the bot\n" 47"\t<a cbot|drop>drop</a>(InFront); // and drop it in front\n" 48"\t\n" 49"\t<a cbot|grab>grab</a>(Behind); // take the new cell\n" 50"\t<a cbot|drop>drop</a>(EnergyCell); // and drop it on the bot\n" 51"}" 52msgstr "" 53"extern void object::SwitchCell1()\n" 54"{\n" 55"\t<a cbot|grab>grab</a>(InFront); // podnieś nowe ogniwo z przodu\n" 56"\t<a cbot|drop>drop</a>(Behind); // i zostaw je z tyłu\n" 57"\t\n" 58"\t<a cbot|grab>grab</a>(EnergyCell); // wyjmij ogniwo z robota\n" 59"\t<a cbot|drop>drop</a>(InFront); // i zostaw je z przodu\n" 60"\t\n" 61"\t<a cbot|grab>grab</a>(Behind); // podnieś nowe ogniwo\n" 62"\t<a cbot|drop>drop</a>(EnergyCell); // i włóż je do robota\n" 63"}" 64 65#. type: \b; header 66#: ../E/10_FollowPhazer.txt:1 ../E/1_SwitchCell1.txt:1 ../E/1_SwitchCell1_link.txt:1 ../E/2_Recharge1.txt:1 ../E/2_Recharge1_link.txt:1 ../E/3_Recharge2.txt:1 ../E/3_Recharge2_link.txt:1 ../E/4_CollectTitanium1.txt:1 ../E/5_CollectTitanium2.txt:1 ../E/5_CollectTitanium2_link.txt:1 ../E/6_KillAnt1.txt:1 ../E/6_KillAnt1_link.txt:1 ../E/7_CollectTitanium3.txt:1 ../E/7_CollectTitanium3_link.txt:1 ../E/8_ServiceTower1.txt:1 ../E/8_ServiceTower1_link.txt:1 ../E/9_terranova.txt:1 67#, no-wrap 68msgid "Programs dispatched by Houston" 69msgstr "Programy przysłane z Houston" 70 71#. type: Plain text 72#: ../E/1_SwitchCell1_link.txt:2 ../E/2_Recharge1_link.txt:2 ../E/3_Recharge2_link.txt:2 ../E/5_CollectTitanium2_link.txt:2 ../E/6_KillAnt1_link.txt:2 ../E/7_CollectTitanium3_link.txt:2 ../E/8_ServiceTower1_link.txt:2 73#, no-wrap 74msgid "We did not develop a specific program for this mission. However, you can develop your own programs if you think it would be useful." 75msgstr "Nie napisaliśmy żadnego programu specjalnie dla tej misji. Jednakże możesz napisać własny program, jeśli uważasz, że przyda się on podczas tej misji." 76 77#. type: \b; header 78#: ../E/10_FollowPhazer.txt:40 ../E/1_SwitchCell1_link.txt:4 ../E/2_Recharge1.txt:20 ../E/2_Recharge1_link.txt:4 ../E/3_Recharge2.txt:23 ../E/3_Recharge2_link.txt:4 ../E/4_CollectTitanium1.txt:24 ../E/5_CollectTitanium2.txt:32 ../E/5_CollectTitanium2_link.txt:4 ../E/6_KillAnt1.txt:23 ../E/6_KillAnt1_link.txt:4 ../E/7_CollectTitanium3.txt:53 ../E/7_CollectTitanium3_link.txt:4 ../E/8_ServiceTower1.txt:43 ../E/8_ServiceTower1_link.txt:4 ../E/9_terranova.txt:20 79#, no-wrap 80msgid "Archives" 81msgstr "Archiwum" 82 83#. type: Plain text 84#: ../E/10_FollowPhazer.txt:41 ../E/1_SwitchCell1_link.txt:5 ../E/2_Recharge1.txt:21 ../E/2_Recharge1_link.txt:5 ../E/3_Recharge2.txt:24 ../E/3_Recharge2_link.txt:5 ../E/4_CollectTitanium1.txt:25 ../E/5_CollectTitanium2.txt:33 ../E/5_CollectTitanium2_link.txt:5 ../E/6_KillAnt1.txt:24 ../E/6_KillAnt1_link.txt:5 ../E/7_CollectTitanium3.txt:54 ../E/7_CollectTitanium3_link.txt:5 ../E/8_ServiceTower1.txt:44 ../E/8_ServiceTower1_link.txt:5 ../E/9_terranova.txt:21 85#, no-wrap 86msgid "Index of the programs dispatched in former missions:" 87msgstr "Lista programów przysłanych w poprzednich misjach:" 88 89#. type: Bullet: 'o' 90#: ../E/10_FollowPhazer.txt:50 ../E/1_SwitchCell1_link.txt:7 ../E/2_Recharge1.txt:23 ../E/2_Recharge1_link.txt:8 ../E/3_Recharge2.txt:26 ../E/3_Recharge2_link.txt:9 ../E/4_CollectTitanium1.txt:29 ../E/5_CollectTitanium2.txt:38 ../E/5_CollectTitanium2_link.txt:11 ../E/6_KillAnt1.txt:30 ../E/6_KillAnt1_link.txt:12 ../E/7_CollectTitanium3.txt:61 ../E/7_CollectTitanium3_link.txt:13 ../E/8_ServiceTower1.txt:52 ../E/8_ServiceTower1_link.txt:14 ../E/9_terranova.txt:30 91#, no-wrap 92msgid "<code><a programs/1_SwitchCell1>SwitchCell1</a></code>" 93msgstr "" 94 95#. type: Plain text 96#: ../E/2_Recharge1.txt:2 97#, no-wrap 98msgid "Below is a program that has been developed by our engineers. It allows you to recharge the <a object|power>power cell</a> of a bot: it goes to the closest <a object|station>power station</a>, waits 5 seconds, and comes back to the initial position." 99msgstr "Poniżej znajdziesz jeden z programów napisanych przez naszych inżynierów. Umożliwia on naładowanie <a object|power>ogniwa elektrycznego</a> robota: idzie on do najbliższej <a object|station>stacji energetycznej</a>, czeka 5 sekund, a następnie wraca do pozycji wyjściowej." 100 101#. type: Plain text 102#: ../E/2_Recharge1.txt:4 103#, no-wrap 104msgid "Remark: If you click on an element of the program underlined in blue, your SatCom will display a text that explains this element. The texts that follow a double slash <code>//</code> are not part of the program, but are comments that help you to understand the program." 105msgstr "Wskazówka: Kliknięcie elementu programu podkreślonego na niebiesko spowoduje wyświetlenie tekstu opisującego ten element na komunikatorze SatCom. Teksty po podwójnych ukośnikach <code>//</code> nie są częścią programu ale komentarzem pozwalającym na lepsze zrozumienie programu." 106 107#. type: Source code 108#: ../E/2_Recharge1.txt:6 109#, no-wrap 110msgid "" 111"extern void object::Recharge1()\n" 112"{\n" 113"\t<a cbot|type>point</a> start; // variable for initial pos.\n" 114"\t<a cbot|type>object</a> item; // info. about power station\n" 115"\t\n" 116"\tstart = position; // store initial position\n" 117"\t\n" 118"\titem = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>); // look for station\n" 119"\t<a cbot|goto>goto</a>(item.position); // go to the power station\n" 120"\t<a cbot|wait>wait</a>(5); // wait 5 seconds\n" 121"\t\n" 122"\t<a cbot|goto>goto</a>(start); // go back to initial pos.\n" 123"}" 124msgstr "" 125"extern void object::Recharge1()\n" 126"{\n" 127"\t<a cbot|type>point</a> start; // zmienna pozycji startowej\n" 128"\t<a cbot|type>object</a> item; // informacja o stacji energetycznej\n" 129"\t\n" 130"\tstart = position; // zachowaj pozycję startową\n" 131"\t\n" 132"\titem = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>); // znajdź stację\n" 133"\t<a cbot|goto>goto</a>(item.position); // idź do stacji\n" 134"\t<a cbot|wait>wait</a>(5); // poczekaj 5 sekund\n" 135"\t\n" 136"\t<a cbot|goto>goto</a>(start); // wróć do pozycji startowej\n" 137"}" 138 139#. type: Plain text 140#: ../E/3_Recharge2.txt:2 141#, no-wrap 142msgid "We have improved the recharge program. When it arrives at the <a object|station>power station</a>, the bot does not wait exactly 5 seconds, but only until the <a object|power>power cell</a> is fully charged. After the bot is back at the initial position, it displays a message on the screen." 143msgstr "Usprawniliśmy program ładowania ogniw. Po dotarciu do <a object|station>stacji energetycznej</a> robot nie czeka już dokładnie 5 sekund, ale tylko do czasu pełnego naładowania <a object|power>ogniwa elektrycznego</a>. Po powrocie na pozycję wyjściową robot wyświetla komunikat na ekranie." 144 145#. type: Source code 146#: ../E/3_Recharge2.txt:4 147#, no-wrap 148msgid "" 149"extern void object::Recharge2()\n" 150"{\n" 151"\t<a cbot|type>point</a> start; // variable for initial pos.\n" 152"\t<a cbot|type>object</a> item; // info. about power station\n" 153"\t\n" 154"\tstart = position; // store initial position\n" 155"\t\n" 156"\titem = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>); // look for station\n" 157"\t<a cbot|goto>goto</a>(item.position); // go to the power station\n" 158"\t\n" 159"\t<a cbot|while>while</a> ( <a cbot|object>energyCell.energyLevel</a> < 1 )\n" 160"\t{\n" 161"\t\t<a cbot|wait>wait</a>(1); // wait until recharged\n" 162"\t}\n" 163"\t\n" 164"\t<a cbot|goto>goto</a>(start); // go back to initial pos.\n" 165"\t<a cbot|message>message</a>(\"Recharge completed\");\n" 166"}" 167msgstr "" 168"extern void object::Recharge2()\n" 169"{\n" 170"\t<a cbot|type>point</a> start; // zmienna pozycji startowej\n" 171"\t<a cbot|type>object</a> item; // informacja o stacji energetycznej\n" 172"\t\n" 173"\tstart = position; // zachowaj pozycję startową\n" 174"\t\n" 175"\titem = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>); // znajdź stację\n" 176"\t<a cbot|goto>goto</a>(item.position); // idź do stacji energetycznej\n" 177"\t\n" 178"\t<a cbot|while>while</a> ( <a cbot|object>energyCell.energyLevel</a> < 1 )\n" 179"\t{\n" 180"\t\t<a cbot|wait>wait</a>(1); // poczekaj aż się naładuje\n" 181"\t}\n" 182"\t\n" 183"\t<a cbot|goto>goto</a>(start); // wróć do pozycji startowej\n" 184"\t<a cbot|message>message</a>(\"Ładowanie zakończone\");\n" 185"}" 186 187#. type: Bullet: 'o' 188#: ../E/10_FollowPhazer.txt:49 ../E/2_Recharge1_link.txt:7 ../E/3_Recharge2.txt:27 ../E/3_Recharge2_link.txt:8 ../E/4_CollectTitanium1.txt:28 ../E/5_CollectTitanium2.txt:37 ../E/5_CollectTitanium2_link.txt:10 ../E/6_KillAnt1.txt:29 ../E/6_KillAnt1_link.txt:11 ../E/7_CollectTitanium3.txt:60 ../E/7_CollectTitanium3_link.txt:12 ../E/8_ServiceTower1.txt:51 ../E/8_ServiceTower1_link.txt:13 ../E/9_terranova.txt:29 189#, no-wrap 190msgid "<code><a programs/2_Recharge1>Recharge1</a></code>" 191msgstr "" 192 193#. type: Bullet: 'o' 194#: ../E/10_FollowPhazer.txt:48 ../E/3_Recharge2_link.txt:7 ../E/4_CollectTitanium1.txt:27 ../E/5_CollectTitanium2.txt:36 ../E/5_CollectTitanium2_link.txt:9 ../E/6_KillAnt1.txt:28 ../E/6_KillAnt1_link.txt:10 ../E/7_CollectTitanium3.txt:59 ../E/7_CollectTitanium3_link.txt:11 ../E/8_ServiceTower1.txt:50 ../E/8_ServiceTower1_link.txt:12 ../E/9_terranova.txt:28 195#, no-wrap 196msgid "<code><a programs/3_Recharge2>Recharge2</a></code>" 197msgstr "" 198 199#. type: Plain text 200#: ../E/4_CollectTitanium1.txt:2 201#, no-wrap 202msgid "" 203"Below is one of the programs that has been developed by our engineers.\n" 204"It instructs a <a object|botgr>grabber</a> to retrieve the nearest chunk of <a object|titanore>titanium ore</a> and place it on the <a object|convert>converter</a>." 205msgstr "" 206"Poniżej znajdziesz jeden z programów napisanych przez naszych inżynierów.\n" 207"Poleca on <a object|botgr>transporterowi</a> wziąć najbliższą porcję <a object|titanore>rudy </a> i dostarczyć ją do <a object|convert>huty</a>." 208 209#. type: Plain text 210#: ../E/4_CollectTitanium1.txt:5 211#, no-wrap 212msgid "In order to execute this program, select the program <code>CollectTitanium1</code> in the list of the programs available on the bot (on the lower left-hand corner of your screen), and click on the arrow symbol <button 21/>. At any moment you can stop the program and take over at the controls with the stop button <button 8/>." 213msgstr "Aby uruchomić ten program, zaznacz program <code>CollectTitanium1</code> na liście dostępnych dla robota programów (w lewej dolnej części ekranu), a następnie kliknij symbol strzałki <button 21/>. W każdej chwili można zatrzymać program i przejąć nad nim kontrolę, klikając przycisk stop <button 8/>." 214 215#. type: Source code 216#: ../E/4_CollectTitanium1.txt:7 217#, no-wrap 218msgid "" 219"extern void object::CollectTitanium1()\n" 220"{\n" 221"\t// 1) Variable definition.\n" 222"\t<a cbot|type>object</a> item; // info. about objects\n" 223"\t\n" 224"\t// 2) Go to the titanium ore and grab it.\n" 225"\titem = <a cbot|radar>radar</a>(<a cbot|category>TitaniumOre</a>);// look for titanium ore\n" 226"\t<a cbot|goto>goto</a>(item.position); // go to the position\n" 227"\t<a cbot|grab>grab</a>(); // grab the titanium\n" 228"\t\n" 229"\t// 3) Go to the converter and drop it.\n" 230"\titem = <a cbot|radar>radar</a>(<a cbot|category>Converter</a>); // look for converter\n" 231"\t<a cbot|goto>goto</a>(item.position); // go to the position\n" 232"\t<a cbot|drop>drop</a>(); // drop the titanium\n" 233"\t<a cbot|move>move</a>(-2.5); // step back 2.5 m\n" 234"}" 235msgstr "" 236"extern void object::CollectTitanium1()\n" 237"{\n" 238"\t// 1) Definicja zmiennej\n" 239"\t<a cbot|type>object</a> item; // informacja o obiekcie\n" 240"\t\n" 241"\t// 2) Idź do rudy tytanu i podnieś ją\n" 242"\titem = <a cbot|radar>radar</a>(<a cbot|category>TitaniumOre</a>);// znajdź rudę tytanu\n" 243"\t<a cbot|goto>goto</a>(item.position); // idź do pozycji\n" 244"\t<a cbot|grab>grab</a>(); // podnieś porcję rudy\n" 245"\t\n" 246"\t// 3) Idź do huty i zostaw rudę\n" 247"\titem = <a cbot|radar>radar</a>(<a cbot|category>Converter</a>); // znajdź hutę\n" 248"\t<a cbot|goto>goto</a>(item.position); // idź do pozycji\n" 249"\t<a cbot|drop>drop</a>(); // zostaw rudę\n" 250"\t<a cbot|move>move</a>(-2.5); // cofnij się o 2,5 m\n" 251"}" 252 253#. type: Plain text 254#: ../E/5_CollectTitanium2.txt:2 255#, no-wrap 256msgid "" 257"Below is one of the programs that has been developed by our engineers.\n" 258"An upgrade on the previous program: the <a object|botgr>grabber</a>, on its way back from the converter, makes a stop, if necessary, at the <a object|station>power station</a> to recharge its power cell." 259msgstr "" 260"Poniżej znajdziesz jeden z programów napisanych przez naszych inżynierów.\n" 261"Poprzedni program został usprawniony: jeśli to konieczne <a object|botgr>transporter</a> w drodze powrotnej odwiedza <a object|station>stację energetyczną</a> w celu naładowania ogniwa elektrycznego." 262 263#. type: Plain text 264#: ../E/5_CollectTitanium2.txt:5 265#, no-wrap 266msgid "This program also works on <a object|botgj>winged grabbers</a>, if the <a object|derrick>derrick</a> is on another island than the <a object|convert>converter</a>." 267msgstr "Program ten działa również na <a object|botgj>transporterze latającym</a>, co może być konieczne jeśli <a object|derrick>kopalnia</a> jest na innej wyspie niż <a object|convert>huta</a>." 268 269#. type: Source code 270#: ../E/5_CollectTitanium2.txt:7 271#, no-wrap 272msgid "" 273"extern void object::CollectTitanium2()\n" 274"{\n" 275"\t// 1) Variable definition.\n" 276"\t<a cbot|type>object</a> item; // info. about objects\n" 277"\t\n" 278"\t// 2) Go to the titanium ore and grab it.\n" 279"\titem = <a cbot|radar>radar</a>(<a cbot|category>TitaniumOre</a>);// look for titanium ore\n" 280"\t<a cbot|goto>goto</a>(item.position); // go to the position\n" 281"\t<a cbot|grab>grab</a>(); // grab the titanium\n" 282"\t\n" 283"\t// 3) Go to the converter and drop it.\n" 284"\titem = <a cbot|radar>radar</a>(<a cbot|category>Converter</a>); // look for converter\n" 285"\t<a cbot|goto>goto</a>(item.position); // go to the position\n" 286"\t<a cbot|drop>drop</a>(); // drop the titanium\n" 287"\t<a cbot|move>move</a>(-2.5); // step back 2.5 m\n" 288"\t\t\n" 289"\t// 4) If power cell half empty, recharges.\n" 290"\tif ( energyCell.energyLevel < 0.5 )\n" 291"\t{ // if so:\n" 292"\t\titem = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>); // look for station\n" 293"\t\t<a cbot|goto>goto</a>(item.position); // go there\n" 294"\t\t<a cbot|wait>wait</a>(5); // wait\n" 295"\t}\n" 296"}" 297msgstr "" 298"extern void object::CollectTitanium2()\n" 299"{\n" 300"\t// 1) Definicja zmiennej\n" 301"\t<a cbot|type>object</a> item; // informacja o obiekcie\n" 302"\t\n" 303"\t// 2) Idź do rudy tytanu i podnieś ją\n" 304"\titem = <a cbot|radar>radar</a>(<a cbot|category>TitaniumOre</a>);// znajdź rudę tytanu\n" 305"\t<a cbot|goto>goto</a>(item.position); // idź do pozycji\n" 306"\t<a cbot|grab>grab</a>(); // podnieś porcję rudy\n" 307"\t\n" 308"\t// 3) Idź do huty i zostaw rudę\n" 309"\titem = <a cbot|radar>radar</a>(<a cbot|category>Converter</a>); // znajdź hutę\n" 310"\t<a cbot|goto>goto</a>(item.position); // idź do pozycji\n" 311"\t<a cbot|drop>drop</a>(); // zostaw rudę\n" 312"\t<a cbot|move>move</a>(-2.5); // cofnij się o 2,5 m\n" 313"\t\t\n" 314"\t// 4) Naładuj ogniwo elektryczne, jeśli jest w połowie zużyte\n" 315"\tif ( energyCell.energyLevel < 0.5 )\n" 316"\t{ // jeśli tak:\n" 317"\t\titem = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>); // znajdź stację energetyczną\n" 318"\t\t<a cbot|goto>goto</a>(item.position); // idź tam\n" 319"\t\t<a cbot|wait>wait</a>(5); // poczekaj\n" 320"\t}\n" 321"}" 322 323#. type: Bullet: 'o' 324#: ../E/10_FollowPhazer.txt:47 ../E/5_CollectTitanium2.txt:35 ../E/5_CollectTitanium2_link.txt:8 ../E/6_KillAnt1.txt:27 ../E/6_KillAnt1_link.txt:9 ../E/7_CollectTitanium3.txt:58 ../E/7_CollectTitanium3_link.txt:10 ../E/8_ServiceTower1.txt:49 ../E/8_ServiceTower1_link.txt:11 ../E/9_terranova.txt:27 325#, no-wrap 326msgid "<code><a programs/4_CollectTitanium1>CollectTitanium1</a></code>" 327msgstr "" 328 329#. type: Bullet: 'o' 330#: ../E/10_FollowPhazer.txt:46 ../E/5_CollectTitanium2_link.txt:7 ../E/6_KillAnt1.txt:26 ../E/6_KillAnt1_link.txt:8 ../E/7_CollectTitanium3.txt:57 ../E/7_CollectTitanium3_link.txt:9 ../E/8_ServiceTower1.txt:48 ../E/8_ServiceTower1_link.txt:10 ../E/9_terranova.txt:26 331#, no-wrap 332msgid "<code><a programs/5_CollectTitanium2>CollectTitanium2</a></code>" 333msgstr "" 334 335#. type: Plain text 336#: ../E/6_KillAnt1.txt:2 337#, no-wrap 338msgid "Execute the program <code>KillAnt1</code> immediately on your <a object|botfr>wheeled shooter</a>, it will protect your west flank. Meantime you can elaborate your defense strategy." 339msgstr "Uruchom natychmiast program <code>KillAnt1</code> na Twoim <a object|botfr>dziale na kołach</a>, zabezpieczy on Twoją zachodnią flankę. W międzyczasie możesz opracować strategię obrony." 340 341#. type: Source code 342#: ../E/6_KillAnt1.txt:4 343#, no-wrap 344msgid "" 345"extern void object::KillAnt1()\n" 346"{\n" 347"\t<a cbot|type>object</a> item; // info. about object\n" 348"\t\n" 349"\t<a cbot|goto>goto</a>(-30, 0); // go west\n" 350"\t<a cbot|aim>aim</a>(0); // aim straight\n" 351"\t\n" 352"\t<a cbot|while>while</a> ( true ) // repeat forever:\n" 353"\t{\n" 354"\t\titem = <a cbot|radar>radar</a>(<a cbot|category>AlienAnt</a>, 0, 360, 0, 40);\n" 355"\t\t<a cbot|if>if</a> ( item != null ) // ant detected ?\n" 356"\t\t{\n" 357"\t\t\t<a cbot|turn>turn</a>(<a cbot|direct>direction</a>(item.position));\n" 358"\t\t\t<a cbot|fire>fire</a>(0.5); // shoot 0.5 s\n" 359"\t\t}\n" 360"\t\t<a cbot|wait>wait</a>(1); // wait 1 second\n" 361"\t}\n" 362"}" 363msgstr "" 364"extern void object::KillAnt1()\n" 365"{\n" 366"\t<a cbot|type>object</a> item; // informacja o obiekcie\n" 367"\t\n" 368"\t<a cbot|goto>goto</a>(-30, 0); // idź na zachód\n" 369"\t<a cbot|aim>aim</a>(0); // celuj w poziomie\n" 370"\t\n" 371"\t<a cbot|while>while</a> ( true ) // powtarzaj w nieskończoność:\n" 372"\t{\n" 373"\t\titem = <a cbot|radar>radar</a>(<a cbot|category>AlienAnt</a>, 0, 360, 0, 40);\n" 374"\t\t<a cbot|if>if</a> ( item != null ) // wykryto mrówkę?\n" 375"\t\t{\n" 376"\t\t\t<a cbot|turn>turn</a>(<a cbot|direct>direction</a>(item.position));\n" 377"\t\t\t<a cbot|fire>fire</a>(0.5); // strzelaj przez 0,5 s\n" 378"\t\t}\n" 379"\t\t<a cbot|wait>wait</a>(1); // czekaj 1 sekundę\n" 380"\t}\n" 381"}" 382 383#. type: Bullet: 'o' 384#: ../E/10_FollowPhazer.txt:45 ../E/6_KillAnt1_link.txt:7 ../E/7_CollectTitanium3.txt:56 ../E/7_CollectTitanium3_link.txt:8 ../E/8_ServiceTower1.txt:47 ../E/8_ServiceTower1_link.txt:9 ../E/9_terranova.txt:25 385#, no-wrap 386msgid "<code><a programs/6_KillAnt1>KillAnt1</a></code>" 387msgstr "" 388 389#. type: Plain text 390#: ../E/7_CollectTitanium3.txt:2 391#, no-wrap 392msgid "As you will need lots of titanium for this mission, we have made the program <code>CollectTitanium</code> still more efficient. It gathers a whole series of titanium cubes on a free surface, so you can let it work on its own. It also recharges itself at the <a object|station>power station</a> if necessary." 393msgstr "Ponieważ w tej misji potrzebne będzie mnóstwo tytanu, po raz kolejny usprawniliśmy program <code>CollectTitanium</code>. Gromadzi on całą serię kostek tytanu na wolnej powierzchni, więc możesz mu już pozwolić pracować zupełnie samodzielnie. Ładuje on również swoje ogniwo elektryczne w <a object|station>stacji energetycznej</a> jeśli jest to konieczne." 394 395#. type: Source code 396#: ../E/7_CollectTitanium3.txt:4 397#, no-wrap 398msgid "" 399"extern void object::CollectTitanium3()\n" 400"{\n" 401"\t// 1) Variable definition.\n" 402"\t<a cbot|type>object</a> item; // info. about objects\n" 403"\t\n" 404"\t<a cbot|while>while</a> (true) // repeat forever\n" 405"\t{\n" 406"\t\t\n" 407"\t\t// 2) Go to the titanium ore and grab it.\n" 408"\t\titem = <a cbot|radar>radar</a>(<a cbot|category>TitaniumOre</a>);// look for titanium\n" 409"\t\t<a cbot|goto>goto</a>(item.position); // go to the position\n" 410"\t\t<a cbot|grab>grab</a>(); // grab the titanium\n" 411"\t\t\n" 412"\t\t// 3) Go to the converter and drop it.\n" 413"\t\titem = <a cbot|radar>radar</a>(<a cbot|category>Converter</a>); // look for converter\n" 414"\t\t<a cbot|goto>goto</a>(item.position); // go to the position\n" 415"\t\t<a cbot|drop>drop</a>(); // drop the titanium\n" 416"\t\t<a cbot|move>move</a>(-2.5); // step back 2.5 m\n" 417"\t\t\n" 418"\t\t// 4) Wait until titanium converted and grab it\n" 419"\t\t<a cbot|do>do</a>\n" 420"\t\t{\n" 421"\t\t\t<a cbot|wait>wait</a>(1); // wait for cube\n" 422"\t\t\titem = <a cbot|radar>radar</a>(<a cbot|category>Titanium</a>, 0, 45, 0, 5);\n" 423"\t\t}\n" 424"\t\t<a cbot|while>while</a> ( item == null );\n" 425"\t\t<a cbot|goto>goto</a>(item.position);\n" 426"\t\t<a cbot|grab>grab</a>(); // grab it\n" 427"\t\t\n" 428"\t\t// 5) Drop on a free space\n" 429"\t\t<a cbot|goto>goto</a>(<a cbot|space>space</a>(position)); // go to free space\n" 430"\t\t<a cbot|drop>drop</a>(); // drop titanium\n" 431"\t\t\n" 432"\t\t// 6) If power cell half empty, recharges.\n" 433"\t\t<a cbot|if>if</a> ( energyCell.energyLevel < 0.5 )\n" 434"\t\t{ // if so:\n" 435"\t\t\titem = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>);\n" 436"\t\t\t<a cbot|if>if</a> ( item != null ) // station found ?\n" 437"\t\t\t{\n" 438"\t\t\t\t<a cbot|goto>goto</a>(item.position); // go there\n" 439"\t\t\t\t<a cbot|while>while</a> ( energyCell.energyLevel < 1 )\n" 440"\t\t\t\t{ // until recharged:\n" 441"\t\t\t\t\t<a cbot|wait>wait</a>(1); // wait\n" 442"\t\t\t\t}\n" 443"\t\t\t}\n" 444"\t\t}\n" 445"\t}\n" 446"}" 447msgstr "" 448"extern void object::CollectTitanium3()\n" 449"{\n" 450"\t// 1) Deklaracje zmiennych.\n" 451"\t<a cbot|type>object</a> item; // informacja o obiekcie\n" 452"\t\n" 453"\t<a cbot|while>while</a> (true) // informacja o obiekcie\n" 454"\t{\n" 455"\t\t\n" 456"\t\t// 2) Idź do rudy tytanu i podnieś ją\n" 457"\t\titem = <a cbot|radar>radar</a>(<a cbot|category>TitaniumOre</a>);// znajdź rudę tytanu\n" 458"\t\t<a cbot|goto>goto</a>(item.position); // idź do pozycji\n" 459"\t\t<a cbot|grab>grab</a>(); // podnieś porcję rudy\n" 460"\t\t\n" 461"\t\t// 3) Idź do huty i zostaw rudę\n" 462"\t\titem = <a cbot|radar>radar</a>(<a cbot|category>Converter</a>); // znajdź hutę\n" 463"\t\t<a cbot|goto>goto</a>(item.position); // idź do pozycji\n" 464"\t\t<a cbot|drop>drop</a>(); // zostaw rudę\n" 465"\t\t<a cbot|move>move</a>(-2.5); // cofnij się o 2,5 m\n" 466"\t\t\n" 467"\t\t// 4) Poczekaj na przetopienie rudy i zabierz tytan\n" 468"\t\t<a cbot|do>do</a>\n" 469"\t\t{\n" 470"\t\t\t<a cbot|wait>wait</a>(1); // poczekaj na kostkę tytanu\n" 471"\t\t\titem = <a cbot|radar>radar</a>(<a cbot|category>Titanium</a>, 0, 45, 0, 5);\n" 472"\t\t}\n" 473"\t\t<a cbot|while>while</a> ( item == null );\n" 474"\t\t<a cbot|goto>goto</a>(item.position);\n" 475"\t\t<a cbot|grab>grab</a>(); // weź ją\n" 476"\t\t\n" 477"\t\t// 5) Idź do wolnego miejsca i zostaw ją\n" 478"\t\t<a cbot|goto>goto</a>(<a cbot|space>space</a>(position)); // idź do wolnego miejsca\n" 479"\t\t<a cbot|drop>drop</a>(); // zostaw tytan\n" 480"\t\t\n" 481"\t\t// 6) Naładuj ogniwo elektryczne, jeśli jest w połowie zużyte\n" 482"\t\t<a cbot|if>if</a> ( energyCell.energyLevel < 0.5 )\n" 483"\t\t{ // jeśli tak:\n" 484"\t\t\titem = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>);\n" 485"\t\t\t<a cbot|if>if</a> ( item != null ) // czy znaleziono stację \n" 486"\t\t\t{\n" 487"\t\t\t\t<a cbot|goto>goto</a>(item.position); // idź tam\n" 488"\t\t\t\t<a cbot|while>while</a> ( energyCell.energyLevel < 1 )\n" 489"\t\t\t\t{ // do czasu naładowania:\n" 490"\t\t\t\t\t<a cbot|wait>wait</a>(1); // czekaj\n" 491"\t\t\t\t}\n" 492"\t\t\t}\n" 493"\t\t}\n" 494"\t}\n" 495"}" 496 497#. type: Plain text 498#: ../E/8_ServiceTower1.txt:2 499#, no-wrap 500msgid "We have developed a program that takes care of recharging the power cell of a <a object|tower>defense tower</a>:" 501msgstr "Napisaliśmy program zajmujący się ładowaniem ogniwa elektrycznego <a object|tower>wieży obronnej</a>:" 502 503#. type: Bullet: '1)' 504#: ../E/8_ServiceTower1.txt:4 505#, no-wrap 506msgid "Go to a <a object|tower>defense tower</a>." 507msgstr "Idź do <a object|tower>wieży obronnej</a>." 508 509#. type: Bullet: '2)' 510#: ../E/8_ServiceTower1.txt:5 511#, no-wrap 512msgid "Wait until the <a object|power>power cell</a> is 80% empty." 513msgstr "Poczekaj aż <a object|power>ogniwo elektryczne</a> będzie w 80% puste." 514 515#. type: Bullet: '3)' 516#: ../E/8_ServiceTower1.txt:6 517#, no-wrap 518msgid "Grab the <a object|power>power cell</a> and recharge it on a <a object|station>power station</a>." 519msgstr "Zabierz <a object|power>ogniwo elektryczne</a> i doładuj je w <a object|station>stacji energetycznej</a>." 520 521#. type: Bullet: '4)' 522#: ../E/8_ServiceTower1.txt:7 523#, no-wrap 524msgid "Put it back on the <a object|tower>defense tower</a>." 525msgstr "Odnieś je do <a object|tower>wieży obronnej</a>." 526 527#. type: Plain text 528#: ../E/8_ServiceTower1.txt:9 529#, no-wrap 530msgid "Build the <a object|station>power station</a> as close as possible to the tower in order to reduce the time when the tower has got no power cell. A good trick is to place a power cell on the ground in front of the tower. The wasp will attack the power cell, and if the first shoot misses or a wasp arrives when the defense tower has got no energy, only the power cell is destroyed and not the defense tower." 531msgstr "W celu zredukowania czasu gdy wieża pozostaje bez zasilania, zbuduj <a object|station>stację energetyczną</a> możliwie najbliżej wieży. Przydatną sztuczką jest zostawienie ogniwa elektrycznego na ziemi przed wieżą. Osy będą atakowały ogniwo i jeśli pierwszy strzał będzie niecelny lub osa przybędzie gdy wieża będzie bez zasilania, zniszczone zostanie tylko ogniw, a nie wieża obronna." 532 533#. type: Source code 534#: ../E/8_ServiceTower1.txt:11 535#, no-wrap 536msgid "" 537"extern void object::ServiceTower1()\n" 538"{\n" 539"\t<a cbot|object>object</a> tower; // info. about tower\n" 540"\t<a cbot|object>object</a> station; // info. about station\n" 541"\t\n" 542"\t// 1) go to the defense tower\n" 543"\ttower = <a cbot|radar>radar</a>(DefenseTower); // look for tower\n" 544"\t<a cbot|goto>goto</a>(tower.position); // go there\n" 545"\t\n" 546"\t<a cbot|while>while</a> ( true ) // repeat forever\n" 547"\t{\n" 548"\t\t// 2) wait until power cell is empty\n" 549"\t\t<a cbot|while>while</a> ( tower.energyCell.energyLevel > 0.2 )\n" 550"\t\t{\n" 551"\t\t\t<a cbot|wait>wait</a>(2);\n" 552"\t\t}\n" 553"\t\t<a cbot|grab>grab</a>(); // grab the power cell\n" 554"\t\t\n" 555"\t\t// 3) go to the power station to recharge\n" 556"\t\tstation = <a cbot|radar>radar</a>(PowerStation);\n" 557"\t\t<a cbot|goto>goto</a>(station.position); // go there\n" 558"\t\t<a cbot|while>while</a> ( load.energyLevel < 1 )\n" 559"\t\t{\n" 560"\t\t\t<a cbot|wait>wait</a>(1); // wait until recharged\n" 561"\t\t}\n" 562"\t\t\n" 563"\t\t// 4) go back to defense tower\n" 564"\t\t<a cbot|goto>goto</a>(tower.position); // go to tower\n" 565"\t\t<a cbot|drop>drop</a>(); // drop the power cell\n" 566"\t}\n" 567"}" 568msgstr "" 569"extern void object::ServiceTower1()\n" 570"{\n" 571"\t<a cbot|object>object</a> tower; // informacje o wieży\n" 572"\t<a cbot|object>object</a> station; // informacje o stacji\n" 573"\t\n" 574"\t// 1) idź do wieży obronnej\n" 575"\ttower = <a cbot|radar>radar</a>(DefenseTower); // znajdź wieżę\n" 576"\t<a cbot|goto>goto</a>(tower.position); // i idź tam\n" 577"\t\n" 578"\t<a cbot|while>while</a> ( true ) // powtarzaj w nieskończoność\n" 579"\t{\n" 580"\t\t// 2) poczekaj na wyczerpanie ogniwa elektrycznego\n" 581"\t\t<a cbot|while>while</a> ( tower.energyCell.energyLevel > 0.2 )\n" 582"\t\t{\n" 583"\t\t\t<a cbot|wait>wait</a>(2);\n" 584"\t\t}\n" 585"\t\t<a cbot|grab>grab</a>(); // weź ogniwo elektryczne\n" 586"\t\t\n" 587"\t\t// 3) idź do elektrowni i naładuj je\n" 588"\t\tstation = <a cbot|radar>radar</a>(PowerStation);\n" 589"\t\t<a cbot|goto>goto</a>(station.position); // idź tam\n" 590"\t\t<a cbot|while>while</a> ( load.energyLevel < 1 )\n" 591"\t\t{\n" 592"\t\t\t<a cbot|wait>wait</a>(1); // poczekaj aż się naładuje\n" 593"\t\t}\n" 594"\t\t\n" 595"\t\t// 4) wróć do wieży obronnej\n" 596"\t\t<a cbot|goto>goto</a>(tower.position); // idź do wieży\n" 597"\t\t<a cbot|drop>drop</a>(); // zostaw ogniwo elektryczne\n" 598"\t}\n" 599"}" 600 601#. type: Bullet: 'o' 602#: ../E/10_FollowPhazer.txt:44 ../E/7_CollectTitanium3_link.txt:7 ../E/8_ServiceTower1.txt:46 ../E/8_ServiceTower1_link.txt:8 ../E/9_terranova.txt:24 603#, no-wrap 604msgid "<code><a programs/7_CollectTitanium3>CollectTitanium3</a></code>" 605msgstr "" 606 607#. type: Bullet: 'o' 608#: ../E/10_FollowPhazer.txt:43 ../E/8_ServiceTower1_link.txt:7 ../E/9_terranova.txt:23 609#, no-wrap 610msgid "<code><a programs/8_ServiceTower1>ServiceTower1</a></code>" 611msgstr "" 612 613#. type: Plain text 614#: ../E/9_terranova.txt:2 615#, no-wrap 616msgid "According to the data transmitted by the satellite, our engineers have developed two programs. The first one guides the <a object|botshld>shielder bot</a> through the narrow valley north close to the place where the key has been located. You can follow it without fearing any attack:" 617msgstr "Zgodnie z danymi dostarczonymi przez satelitę, nasi inżynierowie napisali dwa programy. Pierwszy z nich prowadzi <a object|botshld>robota osłaniacza</a> przez wąską dolinę na północ, w pobliże klucza. Możesz za nim iść nie obawiając się żadnego ataku:" 618 619#. type: Source code 620#: ../E/9_terranova.txt:4 621#, no-wrap 622msgid "" 623"extern void object::Outward()\n" 624"{\n" 625"\t<a cbot|shield>shield</a>(1,15); // activate the shield\n" 626"\t<a cbot|goto>goto</a>(6,160); // go close to the key\n" 627"\t<a cbot|shield>shield</a>(0,15); // deactivate the shield\n" 628"}" 629msgstr "" 630"extern void object::Outward()\n" 631"{\n" 632"\t<a cbot|shield>shield</a>(1,15); // uaktywnij osłonę\n" 633"\t<a cbot|goto>goto</a>(6,160); // podejdź do klucza\n" 634"\t<a cbot|shield>shield</a>(0,15); // wyłącz osłonę\n" 635"}" 636 637#. type: Plain text 638#: ../E/9_terranova.txt:11 639#, no-wrap 640msgid "The second program guides the <a object|botshld>shielder bot</a> back to the <a object|base>spaceship</a>:" 641msgstr "Drugi program kieruje <a object|botshld>robota osłaniacza</a> z powrotem do <a object|base>statku kosmicznego</a>:" 642 643#. type: Source code 644#: ../E/9_terranova.txt:13 645#, no-wrap 646msgid "" 647"extern void object::Return()\n" 648"{\n" 649"\t<a cbot|shield>shield</a>(1,15); // activate the shield\n" 650"\t<a cbot|goto>goto</a>(8,60); // go to the spaceship\n" 651"\t<a cbot|shield>shield</a>(0,15); // deactivate the shield\n" 652"}" 653msgstr "" 654"extern void object::Return()\n" 655"{\n" 656"\t<a cbot|shield>shield</a>(1,15); // uaktywnij osłonę\n" 657"\t<a cbot|goto>goto</a>(8,60); // wróć na statek kosmiczny\n" 658"\t<a cbot|shield>shield</a>(0,15); // wyłącz osłonę\n" 659"}" 660 661#. type: Plain text 662#: ../E/10_FollowPhazer.txt:2 663#, no-wrap 664msgid "Below is a program that has been developed by our engineers." 665msgstr "Poniżej znajdziesz jeden z programów napisanych przez naszych inżynierów." 666 667#. type: Plain text 668#: ../E/10_FollowPhazer.txt:4 669#, no-wrap 670msgid "It instructs the <a object|botshld>shielder</a> to follow and protect the <a object|botphaz>phazer</a>." 671msgstr "Poleca on <a object|botshld>osłaniaczowi</a> śledzenie i ochronę <a object|botphaz>działa fazowego</a>." 672 673#. type: Source code 674#: ../E/10_FollowPhazer.txt:6 675#, no-wrap 676msgid "" 677"extern void object::FollowPhazer()\n" 678"{\n" 679"\t<a cbot|type>object</a> item; // info. about phazer\n" 680"\t<a cbot|type>point</a> dest; // position where to go\n" 681"\t<a cbot|type>float</a> dist; // distance to phazer\n" 682"\t\n" 683"\titem = <a cbot|radar>radar</a>(<a cbot|category>PhazerShooter</a>);\n" 684"\t<a cbot|if>if</a> ( item == null )\n" 685"\t{\n" 686"\t\t<a cbot|message>message</a>(\"No phazer found\");\n" 687"\t\t<a cbot|return>return</a>; // stop the program\n" 688"\t}\n" 689"\t<a cbot|shield>shield</a>(1, 25); // activate the shield\n" 690"\t\n" 691"\t<a cbot|while>while</a> ( true ) // repeat forever\n" 692"\t{\n" 693"\t\titem = <a cbot|radar>radar</a>(PhazerShooter);// look for phazer\n" 694"\t\t<a cbot|if>if</a> ( item == null ) break;\n" 695"\t\t\n" 696"\t\tdist = <a cbot|dist>distance</a>(item.position, position);\n" 697"\t\t<a cbot|if>if</a> ( dist < 5 )\n" 698"\t\t{ // if closer than 5 m:\n" 699"\t\t\t<a cbot|wait>wait</a>(1); // wait\n" 700"\t\t}\n" 701"\t\t<a cbot|if>else</a> // otherwise:\n" 702"\t\t{ // Calculate a position 5 m before the phazer\n" 703"\t\t\tdest.x = (item.position.x-position.x)*((dist-5)/dist)+position.x;\n" 704"\t\t\tdest.y = (item.position.y-position.y)*((dist-5)/dist)+position.y;\n" 705"\t\t\tdest.z = (item.position.z-position.z)*((dist-5)/dist)+position.z;\n" 706"\t\t\t<a cbot|goto>goto</a>(dest, 0, 1, 1); // and go there\n" 707"\t\t}\n" 708"\t}\n" 709"}" 710msgstr "" 711"extern void object::FollowPhazer()\n" 712"{\n" 713"\t<a cbot|type>object</a> item; // informacje o dziale fazowym\n" 714"\t<a cbot|type>point</a> dest; // pozycja docelowa\n" 715"\t<a cbot|type>float</a> dist; // odległość do działa fazowego\n" 716"\t\n" 717"\titem = <a cbot|radar>radar</a>(<a cbot|category>PhazerShooter</a>);\n" 718"\t<a cbot|if>if</a> ( item == null )\n" 719"\t{\n" 720"\t\t<a cbot|message>message</a>(\"Nie znaleziono działa fazowego\");\n" 721"\t\t<a cbot|return>return</a>; // zatrzymaj program\n" 722"\t}\n" 723"\t<a cbot|shield>shield</a>(1, 25); // aktywuj osłonę\n" 724"\t\n" 725"\t<a cbot|while>while</a> ( true ) // powtarzaj w nieskończoność\n" 726"\t{\n" 727"\t\titem = <a cbot|radar>radar</a>(PhazerShooter);// znajdź działo fazowe\n" 728"\t\t<a cbot|if>if</a> ( item == null ) break;\n" 729"\t\t\n" 730"\t\tdist = <a cbot|dist>distance</a>(item.position, position);\n" 731"\t\t<a cbot|if>if</a> ( dist < 5 )\n" 732"\t\t{ // jeśli jest bliżej niż 5 m:\n" 733"\t\t\t<a cbot|wait>wait</a>(1); // czekaj\n" 734"\t\t}\n" 735"\t\t<a cbot|if>else</a> // w przeciwnym przypadku:\n" 736"\t\t{ // Oblicz pozycję 5 m przed działem fazowym\n" 737"\t\t\tdest.x = (item.position.x-position.x)*((dist-5)/dist)+position.x;\n" 738"\t\t\tdest.y = (item.position.y-position.y)*((dist-5)/dist)+position.y;\n" 739"\t\t\tdest.z = (item.position.z-position.z)*((dist-5)/dist)+position.z;\n" 740"\t\t\t<a cbot|goto>goto</a>(dest, 0, 1, 1); // i idź tam\n" 741"\t\t}\n" 742"\t}\n" 743"}" 744