File: programs.pot

package info (click to toggle)
colobot 0.2.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 415,532 kB
  • sloc: cpp: 129,246; ansic: 8,872; python: 2,158; sh: 672; awk: 91; xml: 35; makefile: 31
file content (521 lines) | stat: -rw-r--r-- 22,334 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR Free Software Foundation, Inc.
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
# 
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: DATE\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#. type: \b; header
#: ../E/1_SwitchCell.txt:1
#, no-wrap
msgid "Programs dispatched by Houston"
msgstr ""

#. type: Plain text
#: ../E/1_SwitchCell1.txt:2
#, no-wrap
msgid "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."
msgstr ""

#. type: Plain text
#: ../E/1_SwitchCell1.txt:4
#, no-wrap
msgid "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/>."
msgstr ""

#. type: Source code
#: ../E/1_SwitchCell1.txt:6
#, no-wrap
msgid ""
"extern void object::SwitchCell1()\n"
"{\n"
"\t<a cbot|grab>grab</a>(InFront);     // take the new cell in front\n"
"\t<a cbot|drop>drop</a>(Behind);      // and drop it behind\n"
"\t\n"
"\t<a cbot|grab>grab</a>(EnergyCell);  // take the cell from the bot\n"
"\t<a cbot|drop>drop</a>(InFront);     // and drop it in front\n"
"\t\n"
"\t<a cbot|grab>grab</a>(Behind);      // take the new cell\n"
"\t<a cbot|drop>drop</a>(EnergyCell);  // and drop it on the bot\n"
"}"
msgstr ""

#. type: \b; header
#: ../E/1_SwitchCell1.txt:1 ../E/1_SwitchCell1_link.txt:1
#, no-wrap
msgid "Programs dispatched by Houston"
msgstr ""

#. type: Plain text
#: ../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
#, no-wrap
msgid "We did not develop a specific program for this mission. However, you can develop your own programs if you think it would be useful."
msgstr ""

#. type: \b; header
#: ../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
#, no-wrap
msgid "Archives"
msgstr ""

#. type: Plain text
#: ../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
#, no-wrap
msgid "Index of the programs dispatched in former missions:"
msgstr ""

#. type: Bullet: 'o'
#: ../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
#, no-wrap
msgid "<code><a programs/1_SwitchCell1>SwitchCell1</a></code>"
msgstr ""

#. type: \b; header
#: ../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
#, no-wrap
msgid "Programs dispatched by Houston"
msgstr ""

#. type: Plain text
#: ../E/2_Recharge1.txt:2
#, no-wrap
msgid "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."
msgstr ""

#. type: Plain text
#: ../E/2_Recharge1.txt:4
#, no-wrap
msgid "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."
msgstr ""

#. type: Source code
#: ../E/2_Recharge1.txt:6
#, no-wrap
msgid ""
"extern void object::Recharge1()\n"
"{\n"
"\t<a cbot|type>point</a>  start;          // variable for initial pos.\n"
"\t<a cbot|type>object</a> item;           // info. about power station\n"
"\t\n"
"\tstart = position;      // store initial position\n"
"\t\n"
"\titem = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>); // look for station\n"
"\t<a cbot|goto>goto</a>(item.position);   // go to the power station\n"
"\t<a cbot|wait>wait</a>(5);               // wait 5 seconds\n"
"\t\n"
"\t<a cbot|goto>goto</a>(start);           // go back to initial pos.\n"
"}"
msgstr ""

#. type: Bullet: 'o'
#: ../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
#, no-wrap
msgid "<code><a programs/2_Recharge1>Recharge1</a></code>"
msgstr ""

#. type: Plain text
#: ../E/3_Recharge2.txt:2
#, no-wrap
msgid "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."
msgstr ""

#. type: Source code
#: ../E/3_Recharge2.txt:4
#, no-wrap
msgid ""
"extern void object::Recharge2()\n"
"{\n"
"\t<a cbot|type>point</a>  start;          // variable for initial pos.\n"
"\t<a cbot|type>object</a> item;           // info. about power station\n"
"\t\n"
"\tstart = position;      // store initial position\n"
"\t\n"
"\titem = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>); // look for station\n"
"\t<a cbot|goto>goto</a>(item.position);   // go to the power station\n"
"\t\n"
"\t<a cbot|while>while</a> ( <a cbot|object>energyCell.energyLevel</a> < 1 )\n"
"\t{\n"
"\t\t<a cbot|wait>wait</a>(1);           // wait until recharged\n"
"\t}\n"
"\t\n"
"\t<a cbot|goto>goto</a>(start);           // go back to initial pos.\n"
"\t<a cbot|message>message</a>(\"Recharge completed\");\n"
"}"
msgstr ""

#. type: Bullet: 'o'
#: ../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
#, no-wrap
msgid "<code><a programs/3_Recharge2>Recharge2</a></code>"
msgstr ""

#. type: Plain text
#: ../E/4_CollectTitanium1.txt:2
#, no-wrap
msgid ""
"Below is one of the programs that has been developed by our engineers.\n"
"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>."
msgstr ""

#. type: Plain text
#: ../E/4_CollectTitanium1.txt:5
#, no-wrap
msgid "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/>."
msgstr ""

#. type: Source code
#: ../E/4_CollectTitanium1.txt:7
#, no-wrap
msgid ""
"extern void object::CollectTitanium1()\n"
"{\n"
"\t// 1) Variable definition.\n"
"\t<a cbot|type>object</a>  item;            // info. about objects\n"
"\t\n"
"\t// 2) Go to the titanium ore and grab it.\n"
"\titem = <a cbot|radar>radar</a>(<a cbot|category>TitaniumOre</a>);// look for titanium ore\n"
"\t<a cbot|goto>goto</a>(item.position);     // go to the position\n"
"\t<a cbot|grab>grab</a>();                  // grab the titanium\n"
"\t\n"
"\t// 3) Go to the converter and drop it.\n"
"\titem = <a cbot|radar>radar</a>(<a cbot|category>Converter</a>); // look for converter\n"
"\t<a cbot|goto>goto</a>(item.position);     // go to the position\n"
"\t<a cbot|drop>drop</a>();                  // drop the titanium\n"
"\t<a cbot|move>move</a>(-2.5);              // step back 2.5 m\n"
"}"
msgstr ""

#. type: Plain text
#: ../E/5_CollectTitanium2.txt:2
#, no-wrap
msgid ""
"Below is one of the programs that has been developed by our engineers.\n"
"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."
msgstr ""

#. type: Plain text
#: ../E/5_CollectTitanium2.txt:5
#, no-wrap
msgid "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>."
msgstr ""

#. type: Source code
#: ../E/5_CollectTitanium2.txt:7
#, no-wrap
msgid ""
"extern void object::CollectTitanium2()\n"
"{\n"
"\t// 1) Variable definition.\n"
"\t<a cbot|type>object</a>  item;            // info. about objects\n"
"\t\n"
"\t// 2) Go to the titanium ore and grab it.\n"
"\titem = <a cbot|radar>radar</a>(<a cbot|category>TitaniumOre</a>);// look for titanium ore\n"
"\t<a cbot|goto>goto</a>(item.position);     // go to the position\n"
"\t<a cbot|grab>grab</a>();                  // grab the titanium\n"
"\t\n"
"\t// 3) Go to the converter and drop it.\n"
"\titem = <a cbot|radar>radar</a>(<a cbot|category>Converter</a>); // look for converter\n"
"\t<a cbot|goto>goto</a>(item.position);     // go to the position\n"
"\t<a cbot|drop>drop</a>();                  // drop the titanium\n"
"\t<a cbot|move>move</a>(-2.5);              // step back 2.5 m\n"
"\t\t\n"
"\t// 4) If power cell half empty, recharges.\n"
"\tif ( energyCell.energyLevel < 0.5 )\n"
"\t{                               // if so:\n"
"\t\titem = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>); // look for station\n"
"\t\t<a cbot|goto>goto</a>(item.position);        // go there\n"
"\t\t<a cbot|wait>wait</a>(5);                    // wait\n"
"\t}\n"
"}"
msgstr ""

#. type: Bullet: 'o'
#: ../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
#, no-wrap
msgid "<code><a programs/4_CollectTitanium1>CollectTitanium1</a></code>"
msgstr ""

#. type: Bullet: 'o'
#: ../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
#, no-wrap
msgid "<code><a programs/5_CollectTitanium2>CollectTitanium2</a></code>"
msgstr ""

#. type: Plain text
#: ../E/6_KillAnt1.txt:2
#, no-wrap
msgid "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."
msgstr ""

#. type: Source code
#: ../E/6_KillAnt1.txt:4
#, no-wrap
msgid ""
"extern void object::KillAnt1()\n"
"{\n"
"\t<a cbot|type>object</a> item;             // info. about object\n"
"\t\n"
"\t<a cbot|goto>goto</a>(-30, 0);            // go west\n"
"\t<a cbot|aim>aim</a>(0);                  // aim straight\n"
"\t\n"
"\t<a cbot|while>while</a> ( true )           // repeat forever:\n"
"\t{\n"
"\t\titem = <a cbot|radar>radar</a>(<a cbot|category>AlienAnt</a>, 0, 360, 0, 40);\n"
"\t\t<a cbot|if>if</a> ( item != null )  // ant detected ?\n"
"\t\t{\n"
"\t\t\t<a cbot|turn>turn</a>(<a cbot|direct>direction</a>(item.position));\n"
"\t\t\t<a cbot|fire>fire</a>(0.5);       // shoot 0.5 s\n"
"\t\t}\n"
"\t\t<a cbot|wait>wait</a>(1);             // wait 1 second\n"
"\t}\n"
"}"
msgstr ""

#. type: Bullet: 'o'
#: ../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
#, no-wrap
msgid "<code><a programs/6_KillAnt1>KillAnt1</a></code>"
msgstr ""

#. type: Plain text
#: ../E/7_CollectTitanium3.txt:2
#, no-wrap
msgid "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."
msgstr ""

#. type: Source code
#: ../E/7_CollectTitanium3.txt:4
#, no-wrap
msgid ""
"extern void object::CollectTitanium3()\n"
"{\n"
"\t// 1) Variable definition.\n"
"\t<a cbot|type>object</a>  item;            // info. about objects\n"
"\t\n"
"\t<a cbot|while>while</a> (true)             // repeat forever\n"
"\t{\n"
"\t\t\n"
"\t\t// 2) Go to the titanium ore and grab it.\n"
"\t\titem = <a cbot|radar>radar</a>(<a cbot|category>TitaniumOre</a>);// look for titanium\n"
"\t\t<a cbot|goto>goto</a>(item.position);     // go to the position\n"
"\t\t<a cbot|grab>grab</a>();                  // grab the titanium\n"
"\t\t\n"
"\t\t// 3) Go to the converter and drop it.\n"
"\t\titem = <a cbot|radar>radar</a>(<a cbot|category>Converter</a>); // look for converter\n"
"\t\t<a cbot|goto>goto</a>(item.position);     // go to the position\n"
"\t\t<a cbot|drop>drop</a>();                  // drop the titanium\n"
"\t\t<a cbot|move>move</a>(-2.5);              // step back 2.5 m\n"
"\t\t\n"
"\t\t// 4) Wait until titanium converted and grab it\n"
"\t\t<a cbot|do>do</a>\n"
"\t\t{\n"
"\t\t\t<a cbot|wait>wait</a>(1);              // wait for cube\n"
"\t\t\titem = <a cbot|radar>radar</a>(<a cbot|category>Titanium</a>, 0, 45, 0, 5);\n"
"\t\t}\n"
"\t\t<a cbot|while>while</a> ( item == null );\n"
"\t\t<a cbot|goto>goto</a>(item.position);\n"
"\t\t<a cbot|grab>grab</a>();                   // grab it\n"
"\t\t\n"
"\t\t// 5) Drop on a free space\n"
"\t\t<a cbot|goto>goto</a>(<a cbot|space>space</a>(position));    // go to free space\n"
"\t\t<a cbot|drop>drop</a>();                   // drop titanium\n"
"\t\t\n"
"\t\t// 6) If power cell half empty, recharges.\n"
"\t\t<a cbot|if>if</a> ( energyCell.energyLevel < 0.5 )\n"
"\t\t{                         // if so:\n"
"\t\t\titem = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>);\n"
"\t\t\t<a cbot|if>if</a> ( item != null )   // station found ?\n"
"\t\t\t{\n"
"\t\t\t\t<a cbot|goto>goto</a>(item.position); // go there\n"
"\t\t\t\t<a cbot|while>while</a> ( energyCell.energyLevel < 1 )\n"
"\t\t\t\t{                 // until recharged:\n"
"\t\t\t\t\t<a cbot|wait>wait</a>(1);      // wait\n"
"\t\t\t\t}\n"
"\t\t\t}\n"
"\t\t}\n"
"\t}\n"
"}"
msgstr ""

#. type: Plain text
#: ../E/8_ServiceTower1.txt:2
#, no-wrap
msgid "We have developed a program that takes care of recharging the power cell of a <a object|tower>defense tower</a>:"
msgstr ""

#. type: Bullet: '1)'
#: ../E/8_ServiceTower1.txt:4
#, no-wrap
msgid "Go to a <a object|tower>defense tower</a>."
msgstr ""

#. type: Bullet: '2)'
#: ../E/8_ServiceTower1.txt:5
#, no-wrap
msgid "Wait until the <a object|power>power cell</a> is 80% empty."
msgstr ""

#. type: Bullet: '3)'
#: ../E/8_ServiceTower1.txt:6
#, no-wrap
msgid "Grab the <a object|power>power cell</a> and recharge it on a <a object|station>power station</a>."
msgstr ""

#. type: Bullet: '4)'
#: ../E/8_ServiceTower1.txt:7
#, no-wrap
msgid "Put it back on the <a object|tower>defense tower</a>."
msgstr ""

#. type: Plain text
#: ../E/8_ServiceTower1.txt:9
#, no-wrap
msgid "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."
msgstr ""

#. type: Source code
#: ../E/8_ServiceTower1.txt:11
#, no-wrap
msgid ""
"extern void object::ServiceTower1()\n"
"{\n"
"\t<a cbot|object>object</a>  tower;               // info. about tower\n"
"\t<a cbot|object>object</a>  station;             // info. about station\n"
"\t\n"
"\t// 1) go to the defense tower\n"
"\ttower = <a cbot|radar>radar</a>(DefenseTower); // look for tower\n"
"\t<a cbot|goto>goto</a>(tower.position);        // go there\n"
"\t\n"
"\t<a cbot|while>while</a> ( true )               // repeat forever\n"
"\t{\n"
"\t\t// 2) wait until power cell is empty\n"
"\t\t<a cbot|while>while</a> ( tower.energyCell.energyLevel > 0.2 )\n"
"\t\t{\n"
"\t\t\t<a cbot|wait>wait</a>(2);\n"
"\t\t}\n"
"\t\t<a cbot|grab>grab</a>();                  // grab the power cell\n"
"\t\t\n"
"\t\t// 3) go to the power station to recharge\n"
"\t\tstation = <a cbot|radar>radar</a>(PowerStation);\n"
"\t\t<a cbot|goto>goto</a>(station.position);  // go there\n"
"\t\t<a cbot|while>while</a> ( load.energyLevel < 1 )\n"
"\t\t{\n"
"\t\t\t<a cbot|wait>wait</a>(1);             // wait until recharged\n"
"\t\t}\n"
"\t\t\n"
"\t\t// 4) go back to defense tower\n"
"\t\t<a cbot|goto>goto</a>(tower.position);    // go to tower\n"
"\t\t<a cbot|drop>drop</a>();                  // drop the power cell\n"
"\t}\n"
"}"
msgstr ""

#. type: Bullet: 'o'
#: ../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
#, no-wrap
msgid "<code><a programs/7_CollectTitanium3>CollectTitanium3</a></code>"
msgstr ""

#. type: Bullet: 'o'
#: ../E/10_FollowPhazer.txt:43 ../E/8_ServiceTower1_link.txt:7 ../E/9_terranova.txt:23
#, no-wrap
msgid "<code><a programs/8_ServiceTower1>ServiceTower1</a></code>"
msgstr ""

#. type: Plain text
#: ../E/10_FollowPhazer.txt:2
#, no-wrap
msgid "Below is a program that has been developed by our engineers."
msgstr ""

#. type: Plain text
#: ../E/10_FollowPhazer.txt:4
#, no-wrap
msgid "It instructs the <a object|botshld>shielder</a> to follow and protect the <a object|botphaz>phazer</a>."
msgstr ""

#. type: Source code
#: ../E/10_FollowPhazer.txt:6
#, no-wrap
msgid ""
"extern void object::FollowPhazer()\n"
"{\n"
"\t<a cbot|type>object</a>    item;              // info. about phazer\n"
"\t<a cbot|type>point</a>     dest;              // position where to go\n"
"\t<a cbot|type>float</a>     dist;              // distance to phazer\n"
"\t\n"
"\titem = <a cbot|radar>radar</a>(<a cbot|category>PhazerShooter</a>);\n"
"\t<a cbot|if>if</a> ( item == null )\n"
"\t{\n"
"\t\t<a cbot|message>message</a>(\"No phazer found\");\n"
"\t\t<a cbot|return>return</a>;                  // stop the program\n"
"\t}\n"
"\t<a cbot|shield>shield</a>(1, 25);               // activate the shield\n"
"\t\n"
"\t<a cbot|while>while</a> ( true )               // repeat forever\n"
"\t{\n"
"\t\titem = <a cbot|radar>radar</a>(PhazerShooter);// look for phazer\n"
"\t\t<a cbot|if>if</a> ( item == null )  break;\n"
"\t\t\n"
"\t\tdist = <a cbot|dist>distance</a>(item.position, position);\n"
"\t\t<a cbot|if>if</a> ( dist < 5 )\n"
"\t\t{                        // if closer than 5 m:\n"
"\t\t\t<a cbot|wait>wait</a>(1);             // wait\n"
"\t\t}\n"
"\t\t<a cbot|if>else</a>                     // otherwise:\n"
"\t\t{ // Calculate a position 5 m before the phazer\n"
"\t\t\tdest.x = (item.position.x-position.x)*((dist-5)/dist)+position.x;\n"
"\t\t\tdest.y = (item.position.y-position.y)*((dist-5)/dist)+position.y;\n"
"\t\t\tdest.z = (item.position.z-position.z)*((dist-5)/dist)+position.z;\n"
"\t\t\t<a cbot|goto>goto</a>(dest, 0, 1, 1); // and go there\n"
"\t\t}\n"
"\t}\n"
"}"
msgstr ""

#. type: Plain text
#: ../E/9_terranova.txt:2
#, no-wrap
msgid "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:"
msgstr ""

#. type: Source code
#: ../E/9_terranova.txt:4
#, no-wrap
msgid ""
"extern void object::Outward()\n"
"{\n"
"\t<a cbot|shield>shield</a>(1,15);   // activate the shield\n"
"\t<a cbot|goto>goto</a>(6,160);    // go close to the key\n"
"\t<a cbot|shield>shield</a>(0,15);   // deactivate the shield\n"
"}"
msgstr ""

#. type: Plain text
#: ../E/9_terranova.txt:11
#, no-wrap
msgid "The second program guides the <a object|botshld>shielder bot</a> back to the <a object|base>spaceship</a>:"
msgstr ""

#. type: Source code
#: ../E/9_terranova.txt:13
#, no-wrap
msgid ""
"extern void object::Return()\n"
"{\n"
"\t<a cbot|shield>shield</a>(1,15);   // activate the shield\n"
"\t<a cbot|goto>goto</a>(8,60);     // go to the spaceship\n"
"\t<a cbot|shield>shield</a>(0,15);   // deactivate the shield\n"
"}"
msgstr ""