diff --git a/help/cbot/E/switch.txt b/help/cbot/E/switch.txt
new file mode 100644
index 00000000..e436d842
--- /dev/null
+++ b/help/cbot/E/switch.txt
@@ -0,0 +1,71 @@
+\b;Instructions \c;switch\n;, \c;case\n; and \c;default\n;
+With the instruction \c;switch() {}\n; you can execute a proper set of instructions (a case) basing on some value.
+
+\b;Basic use
+Note: the \l;busy\u cbot\busy; instruction might be much better to use in this scenario.
+
+See the following \l;function\u cbot\function;: the bot will be \l;waiting\u cbot\wait; a proper amount of time for a certain task to be completed:
+\c;
+\s;public void WaitForTaskCompleted(object building)
+\s;{
+\s; int cat = building.category;
+\s; \l;if\u cbot\if; (cat == Converter) wait(15);
+\s; else if (cat == BotFactory) wait(15);
+\s; else if (cat == PowerPlant) wait(12);
+\s; else message("Undefined wait time", DisplayError);
+\s;}
+\n;
+This function can be also written using the \c;switch() {}\n; instruction:
+\c;
+\s;public void WaitForTaskCompleted(object building)
+\s;{
+\s; switch (building.category)
+\s; {
+\s; case Converter: wait(15); break;
+\s; case BotFactory: wait(15); break;
+\s; case PowerPlant: wait(12); break;
+\s; default: message("Undefined wait time", DisplayError);
+\s; }
+\s;}
+\n;
+Which way to write this kind of choice structures, is a matter of taste.
+
+You can also make cases like this:
+\c;
+\s;switch (building.category)
+\s;{
+\s; case Converter:
+\s; case BotFactory:
+\s; wait(15); break;
+\s; case PowerPlant: wait(12); break;
+\s; default: message("Undefined wait time", DisplayError);
+\s;}
+\n;
+\l;Converter\u object\convert; and \l;bot factory\u object\factory; have the same waiting time, so in order to not write the same instructions twice, we made multiple cases run the same code. In fact, all code after the highest case used will be executed if we do not \c;\l;break\u cbot\break;\n; it.
+
+\b;For specialists
+Syntax:
+\s;\c;switch ( value )
+\s;{
+\s; case value1: instructions1
+\s; case value2: instructions2
+\s; ...
+\s; case valueN: instructionsN
+\s; default: instructionsDefault
+\s;}
+\n;
+With this conditional structure you can execute \c;instructions1\n; or \c;instructions2\n; ... or \c;instructionsN\n; or \c;instructionsDefault\n; depending on the \c;value\n;.
+
+If the \c;value\n; is equal to \c;value1\n;, \c;instructions1\n; to \c;N\n; (including \c;instructionsDefault\n;) are executed.
+If the \c;value\n; is equal to \c;value2\n;, \c;instructions2\n; to \c;N\n; (including \c;instructionsDefault\n;) are executed.
+And so on.
+If the \c;value\n; is equal to \c;valueN\n;, \c;instructionsN\n; and \c;instructionsDefault\n; are executed.
+If the \c;value\n; is not equal to any value in the given cases, \c;instructionsDefault\n; are executed.
+
+You can exit from the the \c;switch() {}\n; instruction using \c;\l;break\u cbot\break;\n;.
+
+\t;Attention
+Do not put a \l;semicolon\u cbot\term; at the end of the \c;switch ( ) { }\n; instruction.
+
+\t;See also
+\l;Programming\u cbot;, \l;types\u cbot\type; and \l;categories\u cbot\category;.
diff --git a/help/cbot/po/cbot.pot b/help/cbot/po/cbot.pot
index 34e17069..9b9887ae 100644
--- a/help/cbot/po/cbot.pot
+++ b/help/cbot/po/cbot.pot
@@ -53,13 +53,13 @@ msgid "Time in seconds."
msgstr ""
#. type: \t; header
-#: ../E/abstime.txt:10 ../E/acos.txt:11 ../E/aim.txt:23 ../E/array.txt:30 ../E/asin.txt:11 ../E/atan.txt:11 ../E/atan2.txt:16 ../E/bloc.txt:48 ../E/bool.txt:4 ../E/break.txt:24 ../E/build.txt:27 ../E/buildingenabled.txt:22 ../E/busy.txt:14 ../E/canbuild.txt:22 ../E/canresearch.txt:14 ../E/category.txt:107 ../E/ceil.txt:12 ../E/class.txt:70 ../E/close.txt:6 ../E/cond.txt:27 ../E/continue.txt:24 ../E/cos.txt:11 ../E/deletef.txt:9 ../E/delinfo.txt:13 ../E/destroy.txt:15 ../E/direct.txt:13 ../E/dist.txt:29 ../E/dist2d.txt:13 ../E/do.txt:27 ../E/drop.txt:28 ../E/eof.txt:13 ../E/errmode.txt:32 ../E/expr.txt:74 ../E/extern.txt:29 ../E/factory.txt:21 ../E/false.txt:4 ../E/file.txt:16 ../E/fire.txt:30 ../E/flatgrnd.txt:16 ../E/flatspace.txt:25 ../E/float.txt:24 ../E/floor.txt:12 ../E/for.txt:38 ../E/function.txt:129 ../E/goto.txt:34 ../E/grab.txt:28 ../E/if.txt:39 ../E/int.txt:18 ../E/jet.txt:14 ../E/message.txt:24 ../E/motor.txt:38 ../E/move.txt:21 ../E/nan.txt:14 ../E/new.txt:20 ../E/null.txt:4 ../E/object.txt:79 ../E/open.txt:18 ../E/openfile.txt:10 ../E/pencolor.txt:14 ../E/pendown.txt:17 ../E/penup.txt:11 ../E/penwidth.txt:14 ../E/point.txt:35 ../E/pointer.txt:51 ../E/pow.txt:14 ../E/private.txt:17 ../E/public.txt:49 ../E/radar.txt:80 ../E/rand.txt:8 ../E/readln.txt:18 ../E/receive.txt:16 ../E/recycle.txt:12 ../E/research.txt:18 ../E/researched.txt:14 ../E/researches.txt:27 ../E/retobj.txt:13 ../E/return.txt:29 ../E/round.txt:12 ../E/search.txt:25 ../E/send.txt:17 ../E/shield.txt:18 ../E/sin.txt:11 ../E/sizeof.txt:21 ../E/sniff.txt:16 ../E/space.txt:22 ../E/sqrt.txt:11 ../E/static.txt:20 ../E/strfind.txt:18 ../E/string.txt:32 ../E/strleft.txt:14 ../E/strlen.txt:12 ../E/strlower.txt:10 ../E/strmid.txt:18 ../E/strright.txt:14 ../E/strupper.txt:10 ../E/strval.txt:17 ../E/synchro.txt:23 ../E/takeoff.txt:15 ../E/tan.txt:11 ../E/term.txt:30 ../E/testinfo.txt:16 ../E/this.txt:52 ../E/thump.txt:12 ../E/topo.txt:13 ../E/true.txt:4 ../E/trunc.txt:12 ../E/turn.txt:32 ../E/type.txt:32 ../E/var.txt:66 ../E/void.txt:10 ../E/wait.txt:21 ../E/while.txt:46 ../E/writeln.txt:19
+#: ../E/abstime.txt:10 ../E/acos.txt:11 ../E/aim.txt:23 ../E/array.txt:30 ../E/asin.txt:11 ../E/atan.txt:11 ../E/atan2.txt:16 ../E/bloc.txt:48 ../E/bool.txt:4 ../E/break.txt:24 ../E/build.txt:27 ../E/buildingenabled.txt:22 ../E/busy.txt:14 ../E/canbuild.txt:22 ../E/canresearch.txt:14 ../E/category.txt:107 ../E/ceil.txt:12 ../E/class.txt:70 ../E/close.txt:6 ../E/cond.txt:27 ../E/continue.txt:24 ../E/cos.txt:11 ../E/deletef.txt:9 ../E/delinfo.txt:13 ../E/destroy.txt:15 ../E/direct.txt:13 ../E/dist.txt:29 ../E/dist2d.txt:13 ../E/do.txt:27 ../E/drop.txt:28 ../E/eof.txt:13 ../E/errmode.txt:32 ../E/expr.txt:74 ../E/extern.txt:29 ../E/factory.txt:21 ../E/false.txt:4 ../E/file.txt:16 ../E/fire.txt:30 ../E/flatgrnd.txt:16 ../E/flatspace.txt:25 ../E/float.txt:24 ../E/floor.txt:12 ../E/for.txt:38 ../E/function.txt:129 ../E/goto.txt:34 ../E/grab.txt:28 ../E/if.txt:39 ../E/int.txt:18 ../E/jet.txt:14 ../E/message.txt:24 ../E/motor.txt:38 ../E/move.txt:21 ../E/nan.txt:14 ../E/new.txt:20 ../E/null.txt:4 ../E/object.txt:79 ../E/open.txt:18 ../E/openfile.txt:10 ../E/pencolor.txt:14 ../E/pendown.txt:17 ../E/penup.txt:11 ../E/penwidth.txt:14 ../E/point.txt:35 ../E/pointer.txt:51 ../E/pow.txt:14 ../E/private.txt:17 ../E/public.txt:49 ../E/radar.txt:80 ../E/rand.txt:8 ../E/readln.txt:18 ../E/receive.txt:16 ../E/recycle.txt:12 ../E/research.txt:18 ../E/researched.txt:14 ../E/researches.txt:27 ../E/retobj.txt:13 ../E/return.txt:29 ../E/round.txt:12 ../E/search.txt:25 ../E/send.txt:17 ../E/shield.txt:18 ../E/sin.txt:11 ../E/sizeof.txt:21 ../E/sniff.txt:16 ../E/space.txt:22 ../E/sqrt.txt:11 ../E/static.txt:20 ../E/strfind.txt:18 ../E/string.txt:32 ../E/strleft.txt:14 ../E/strlen.txt:12 ../E/strlower.txt:10 ../E/strmid.txt:18 ../E/strright.txt:14 ../E/strupper.txt:10 ../E/strval.txt:17 ../E/switch.txt:70 ../E/synchro.txt:23 ../E/takeoff.txt:15 ../E/tan.txt:11 ../E/term.txt:30 ../E/testinfo.txt:16 ../E/this.txt:52 ../E/thump.txt:12 ../E/topo.txt:13 ../E/true.txt:4 ../E/trunc.txt:12 ../E/turn.txt:32 ../E/type.txt:32 ../E/var.txt:66 ../E/void.txt:10 ../E/wait.txt:21 ../E/while.txt:46 ../E/writeln.txt:19
#, no-wrap
msgid "See also"
msgstr ""
#. type: Plain text
-#: ../E/abstime.txt:11 ../E/aim.txt:24 ../E/array.txt:31 ../E/bool.txt:5 ../E/break.txt:25 ../E/busy.txt:15 ../E/cond.txt:28 ../E/continue.txt:25 ../E/deletef.txt:10 ../E/destroy.txt:16 ../E/direct.txt:14 ../E/dist.txt:30 ../E/dist2d.txt:14 ../E/drop.txt:29 ../E/errmode.txt:33 ../E/expr.txt:75 ../E/extern.txt:30 ../E/false.txt:5 ../E/fire.txt:31 ../E/flatgrnd.txt:17 ../E/flatspace.txt:26 ../E/float.txt:25 ../E/for.txt:39 ../E/function.txt:130 ../E/goto.txt:35 ../E/grab.txt:29 ../E/if.txt:40 ../E/int.txt:19 ../E/jet.txt:15 ../E/message.txt:25 ../E/move.txt:22 ../E/nan.txt:15 ../E/object.txt:80 ../E/openfile.txt:11 ../E/pencolor.txt:15 ../E/pendown.txt:18 ../E/penup.txt:12 ../E/penwidth.txt:15 ../E/point.txt:36 ../E/radar.txt:81 ../E/recycle.txt:13 ../E/retobj.txt:14 ../E/return.txt:30 ../E/search.txt:26 ../E/shield.txt:19 ../E/sizeof.txt:22 ../E/sniff.txt:17 ../E/space.txt:23 ../E/string.txt:33 ../E/takeoff.txt:16 ../E/term.txt:31 ../E/thump.txt:13 ../E/topo.txt:14 ../E/true.txt:5 ../E/turn.txt:33 ../E/type.txt:33 ../E/var.txt:67 ../E/void.txt:11 ../E/wait.txt:22
+#: ../E/abstime.txt:11 ../E/aim.txt:24 ../E/array.txt:31 ../E/bool.txt:5 ../E/break.txt:25 ../E/busy.txt:15 ../E/cond.txt:28 ../E/continue.txt:25 ../E/deletef.txt:10 ../E/destroy.txt:16 ../E/direct.txt:14 ../E/dist.txt:30 ../E/dist2d.txt:14 ../E/drop.txt:29 ../E/errmode.txt:33 ../E/expr.txt:75 ../E/extern.txt:30 ../E/false.txt:5 ../E/fire.txt:31 ../E/flatgrnd.txt:17 ../E/flatspace.txt:26 ../E/float.txt:25 ../E/for.txt:39 ../E/function.txt:130 ../E/goto.txt:35 ../E/grab.txt:29 ../E/if.txt:40 ../E/int.txt:19 ../E/jet.txt:15 ../E/message.txt:25 ../E/move.txt:22 ../E/nan.txt:15 ../E/object.txt:80 ../E/openfile.txt:11 ../E/pencolor.txt:15 ../E/pendown.txt:18 ../E/penup.txt:12 ../E/penwidth.txt:15 ../E/point.txt:36 ../E/radar.txt:81 ../E/recycle.txt:13 ../E/retobj.txt:14 ../E/return.txt:30 ../E/search.txt:26 ../E/shield.txt:19 ../E/sizeof.txt:22 ../E/sniff.txt:17 ../E/space.txt:23 ../E/string.txt:33 ../E/switch.txt:71 ../E/takeoff.txt:16 ../E/term.txt:31 ../E/thump.txt:13 ../E/topo.txt:14 ../E/true.txt:5 ../E/turn.txt:33 ../E/type.txt:33 ../E/var.txt:67 ../E/void.txt:11 ../E/wait.txt:22
#, no-wrap
msgid "Programming, types and categories."
msgstr ""
@@ -891,7 +891,7 @@ msgid "With the instruction distance( , )
you can calculate the dis
msgstr ""
#. type: \b; header
-#: ../E/build.txt:4 ../E/buildingenabled.txt:4 ../E/canbuild.txt:4 ../E/dist.txt:4 ../E/drop.txt:4 ../E/fire.txt:4 ../E/function.txt:16 ../E/goto.txt:4 ../E/grab.txt:4 ../E/if.txt:4 ../E/motor.txt:4 ../E/move.txt:4 ../E/radar.txt:4 ../E/turn.txt:4 ../E/wait.txt:4 ../E/while.txt:4
+#: ../E/build.txt:4 ../E/buildingenabled.txt:4 ../E/canbuild.txt:4 ../E/dist.txt:4 ../E/drop.txt:4 ../E/fire.txt:4 ../E/function.txt:16 ../E/goto.txt:4 ../E/grab.txt:4 ../E/if.txt:4 ../E/motor.txt:4 ../E/move.txt:4 ../E/radar.txt:4 ../E/switch.txt:4 ../E/turn.txt:4 ../E/wait.txt:4 ../E/while.txt:4
#, no-wrap
msgid "Basic use"
msgstr ""
@@ -931,13 +931,13 @@ msgid ""
msgstr ""
#. type: \b; header, \t; header
-#: ../E/build.txt:13 ../E/buildingenabled.txt:12 ../E/canbuild.txt:12 ../E/dist.txt:17 ../E/drop.txt:11 ../E/errmode.txt:4 ../E/file.txt:10 ../E/fire.txt:9 ../E/float.txt:19 ../E/goto.txt:11 ../E/grab.txt:11 ../E/if.txt:22 ../E/int.txt:13 ../E/motor.txt:14 ../E/move.txt:7 ../E/radar.txt:13 ../E/return.txt:9 ../E/turn.txt:18 ../E/wait.txt:9 ../E/while.txt:19
+#: ../E/build.txt:13 ../E/buildingenabled.txt:12 ../E/canbuild.txt:12 ../E/dist.txt:17 ../E/drop.txt:11 ../E/errmode.txt:4 ../E/file.txt:10 ../E/fire.txt:9 ../E/float.txt:19 ../E/goto.txt:11 ../E/grab.txt:11 ../E/if.txt:22 ../E/int.txt:13 ../E/motor.txt:14 ../E/move.txt:7 ../E/radar.txt:13 ../E/return.txt:9 ../E/switch.txt:46 ../E/turn.txt:18 ../E/wait.txt:9 ../E/while.txt:19
#, no-wrap
msgid "For specialists"
msgstr ""
#. type: Plain text
-#: ../E/acos.txt:2 ../E/aim.txt:2 ../E/asin.txt:2 ../E/atan.txt:2 ../E/atan2.txt:2 ../E/build.txt:14 ../E/buildingenabled.txt:13 ../E/busy.txt:2 ../E/canbuild.txt:13 ../E/canresearch.txt:2 ../E/ceil.txt:2 ../E/cos.txt:2 ../E/destroy.txt:2 ../E/dist.txt:18 ../E/dist2d.txt:2 ../E/do.txt:2 ../E/drop.txt:12 ../E/factory.txt:2 ../E/fire.txt:10 ../E/flatspace.txt:2 ../E/floor.txt:2 ../E/for.txt:2 ../E/goto.txt:12 ../E/grab.txt:12 ../E/if.txt:23 ../E/jet.txt:2 ../E/message.txt:2 ../E/move.txt:8 ../E/pencolor.txt:2 ../E/pendown.txt:2 ../E/penup.txt:2 ../E/penwidth.txt:2 ../E/pow.txt:2 ../E/radar.txt:14 ../E/rand.txt:2 ../E/receive.txt:2 ../E/recycle.txt:2 ../E/research.txt:2 ../E/researched.txt:2 ../E/retobj.txt:2 ../E/round.txt:2 ../E/search.txt:2 ../E/shield.txt:2 ../E/sin.txt:2 ../E/sniff.txt:2 ../E/space.txt:2 ../E/sqrt.txt:2 ../E/takeoff.txt:2 ../E/tan.txt:2 ../E/thump.txt:2 ../E/topo.txt:2 ../E/trunc.txt:2 ../E/turn.txt:19 ../E/wait.txt:10
+#: ../E/acos.txt:2 ../E/aim.txt:2 ../E/asin.txt:2 ../E/atan.txt:2 ../E/atan2.txt:2 ../E/build.txt:14 ../E/buildingenabled.txt:13 ../E/busy.txt:2 ../E/canbuild.txt:13 ../E/canresearch.txt:2 ../E/ceil.txt:2 ../E/cos.txt:2 ../E/destroy.txt:2 ../E/dist.txt:18 ../E/dist2d.txt:2 ../E/do.txt:2 ../E/drop.txt:12 ../E/factory.txt:2 ../E/fire.txt:10 ../E/flatspace.txt:2 ../E/floor.txt:2 ../E/for.txt:2 ../E/goto.txt:12 ../E/grab.txt:12 ../E/if.txt:23 ../E/jet.txt:2 ../E/message.txt:2 ../E/move.txt:8 ../E/pencolor.txt:2 ../E/pendown.txt:2 ../E/penup.txt:2 ../E/penwidth.txt:2 ../E/pow.txt:2 ../E/radar.txt:14 ../E/rand.txt:2 ../E/receive.txt:2 ../E/recycle.txt:2 ../E/research.txt:2 ../E/researched.txt:2 ../E/retobj.txt:2 ../E/round.txt:2 ../E/search.txt:2 ../E/shield.txt:2 ../E/sin.txt:2 ../E/sniff.txt:2 ../E/space.txt:2 ../E/sqrt.txt:2 ../E/switch.txt:47 ../E/takeoff.txt:2 ../E/tan.txt:2 ../E/thump.txt:2 ../E/topo.txt:2 ../E/trunc.txt:2 ../E/turn.txt:19 ../E/wait.txt:10
#, no-wrap
msgid "Syntax:"
msgstr ""
@@ -1045,7 +1045,7 @@ msgid ""
msgstr ""
#. type: \t; header
-#: ../E/do.txt:22 ../E/float.txt:11 ../E/for.txt:33 ../E/if.txt:36 ../E/int.txt:10 ../E/while.txt:41
+#: ../E/do.txt:22 ../E/float.txt:11 ../E/for.txt:33 ../E/if.txt:36 ../E/int.txt:10 ../E/switch.txt:67 ../E/while.txt:41
#, no-wrap
msgid "Attention"
msgstr ""
@@ -6868,6 +6868,167 @@ msgstr ""
msgid "Filters and IDs can be mixed using bitwise OR operator |
, for example radar(Any, 0, 360, 0, 1000, 1, 2 | FilterOnlyLanding); will only detect an object from team 2
that is on the ground. Attention: you can specify only one team ID at once, but you can specify several filters at once."
msgstr ""
+#. type: \b; header
+#: ../E/switch.txt:1
+#, no-wrap
+msgid "Instructions switch
, case
and default
"
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:2
+#, no-wrap
+msgid "With the instruction switch() {}
you can execute a proper set of instructions (a case) basing on some value."
+msgstr ""
+
+#. type: Source code
+#: ../E/switch.txt:9
+#, no-wrap
+msgid ""
+"public void WaitForTaskCompleted(object building)\n"
+"{\n"
+"\tint cat = building.category;\n"
+"\tif (cat == Converter) wait(15);\n"
+"\telse if (cat == BotFactory) wait(15);\n"
+"\telse if (cat == PowerPlant) wait(12);\n"
+"\telse message(\"Undefined wait time\", DisplayError);\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:18
+#, no-wrap
+msgid "This function can be also written using the switch() {}
instruction:"
+msgstr ""
+
+#. type: Source code
+#: ../E/switch.txt:20
+#, no-wrap
+msgid ""
+"public void WaitForTaskCompleted(object building)\n"
+"{\n"
+"\tswitch (building.category)\n"
+"\t{\n"
+"\t\tcase Converter: wait(15); break;\n"
+"\t\tcase BotFactory: wait(15); break;\n"
+"\t\tcase PowerPlant: wait(12); break;\n"
+"\t\tdefault: message(\"Undefined wait time\", DisplayError);\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:31
+#, no-wrap
+msgid "Which way to write this kind of choice structures, is a matter of taste."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:33
+#, no-wrap
+msgid "You can also make cases like this:"
+msgstr ""
+
+#. type: Source code
+#: ../E/switch.txt:35
+#, no-wrap
+msgid ""
+"switch (building.category)\n"
+"{\n"
+"\tcase Converter:\n"
+"\tcase BotFactory:\n"
+"\t\twait(15); break;\n"
+"\tcase PowerPlant: wait(12); break;\n"
+"\tdefault: message(\"Undefined wait time\", DisplayError);\n"
+"}"
+msgstr ""
+
+#. type: Source code
+#: ../E/switch.txt:48
+#, no-wrap
+msgid ""
+"switch ( value )\n"
+"{\n"
+"\tcase value1: instructions1\n"
+"\tcase value2: instructions2\n"
+"\t...\n"
+"\tcase valueN: instructionsN\n"
+"\tdefault: instructionsDefault\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:5
+#, no-wrap
+msgid "Note: the busy instruction might be much better to use in this scenario."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:7
+#, no-wrap
+msgid "See the following function: the bot will be waiting a proper amount of time for a certain task to be completed:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:44
+#, no-wrap
+msgid "Converter and bot factory have the same waiting time, so in order to not write the same instructions twice, we made multiple cases run the same code. In fact, all code after the highest case used will be executed if we do not break
it."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:57
+#, no-wrap
+msgid "With this conditional structure you can execute instructions1
or instructions2
... or instructionsN
or instructionsDefault
depending on the value
."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:59
+#, no-wrap
+msgid ""
+"If the value
is equal to value1
, instructions1
to N
(including instructionsDefault
) are executed.\n"
+"If the value
is equal to value2
, instructions2
to N
(including instructionsDefault
) are executed.\n"
+"And so on.\n"
+"If the value
is equal to valueN
, instructionsN
and instructionsDefault
are executed.\n"
+"If the value
is not equal to any value in the given cases, instructionsDefault
are executed."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:68
+#, no-wrap
+msgid "Do not put a semicolon at the end of the switch ( ) { }
instruction."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:65
+#, no-wrap
+msgid "You can exit from the the switch() {}
instruction using break
."
+msgstr ""
+
+#~ msgid "You can stop the the switch() {}
instruction using break
."
+#~ msgstr ""
+
+#~ msgid "Converter and bot factory have the same waiting time, so in order to not write the same instructions twice, we made multiple cases run the same code. In fact, all code after the highest case used will be executed if we do not break it."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "With this conditional structure you can execute instructions1
or instructions2
... or instructionsN
or instructionsDefault
depending on the value
.\n"
+#~ "If the value
is equal to value1
, instructions1
to N
(including instructionsDefault
) are executed.\n"
+#~ "If the value
is equal to value2
, instructions2
to N
(including instructionsDefault
) are executed.\n"
+#~ "And so on.\n"
+#~ "If the value
is equal to valueN
, instructionsN
and instructionsDefault
are executed.\n"
+#~ "If the value
is not equal to any value in the given cases, instructionsDefault
are executed."
+#~ msgstr ""
+
+#~ msgid "You can stop the the switch() {}
instruction using break."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Note: the busy instruction might be much better to use in this scenario.\n"
+#~ "See the following function: the bot will be waiting a proper amount of time for a certain task to be completed:"
+#~ msgstr ""
+
+#~ msgid "With this conditional structure you can execute instruction1 or instructions2 ... or instructionsN or instructionsDefault depending on the value
. If the value
is equal to value1
, instructions1
to N
(including instructionsDefault
) are executed. If the value
is equal to value2
, instructions2
to N
(including instructionsDefault
) are executed. And so on. If the value
is equal to valueN
, instructionsN
and instructionsDefault
are executed. If the value
is not equal to any value in the given cases, instructionsDefault
are executed."
+#~ msgstr ""
+
#~ msgid "The last three are mainly useful in code battles. You can also pass a team ID to search only for objects from a specific team."
#~ msgstr ""
diff --git a/help/cbot/po/de.po b/help/cbot/po/de.po
index 114ca7ff..929a1dff 100644
--- a/help/cbot/po/de.po
+++ b/help/cbot/po/de.po
@@ -53,13 +53,13 @@ msgid "Time in seconds."
msgstr "Zeit in Sekunden."
#. type: \t; header
-#: ../E/abstime.txt:10 ../E/acos.txt:11 ../E/aim.txt:23 ../E/array.txt:30 ../E/asin.txt:11 ../E/atan.txt:11 ../E/atan2.txt:16 ../E/bloc.txt:48 ../E/bool.txt:4 ../E/break.txt:24 ../E/build.txt:27 ../E/buildingenabled.txt:22 ../E/busy.txt:14 ../E/canbuild.txt:22 ../E/canresearch.txt:14 ../E/category.txt:107 ../E/ceil.txt:12 ../E/class.txt:70 ../E/close.txt:6 ../E/cond.txt:27 ../E/continue.txt:24 ../E/cos.txt:11 ../E/deletef.txt:9 ../E/delinfo.txt:13 ../E/destroy.txt:15 ../E/direct.txt:13 ../E/dist.txt:29 ../E/dist2d.txt:13 ../E/do.txt:27 ../E/drop.txt:28 ../E/eof.txt:13 ../E/errmode.txt:32 ../E/expr.txt:74 ../E/extern.txt:29 ../E/factory.txt:21 ../E/false.txt:4 ../E/file.txt:16 ../E/fire.txt:30 ../E/flatgrnd.txt:16 ../E/flatspace.txt:25 ../E/float.txt:24 ../E/floor.txt:12 ../E/for.txt:38 ../E/function.txt:129 ../E/goto.txt:34 ../E/grab.txt:28 ../E/if.txt:39 ../E/int.txt:18 ../E/jet.txt:14 ../E/message.txt:24 ../E/motor.txt:38 ../E/move.txt:21 ../E/nan.txt:14 ../E/new.txt:20 ../E/null.txt:4 ../E/object.txt:79 ../E/open.txt:18 ../E/openfile.txt:10 ../E/pencolor.txt:14 ../E/pendown.txt:17 ../E/penup.txt:11 ../E/penwidth.txt:14 ../E/point.txt:35 ../E/pointer.txt:51 ../E/pow.txt:14 ../E/private.txt:17 ../E/public.txt:49 ../E/radar.txt:80 ../E/rand.txt:8 ../E/readln.txt:18 ../E/receive.txt:16 ../E/recycle.txt:12 ../E/research.txt:18 ../E/researched.txt:14 ../E/researches.txt:27 ../E/retobj.txt:13 ../E/return.txt:29 ../E/round.txt:12 ../E/search.txt:25 ../E/send.txt:17 ../E/shield.txt:18 ../E/sin.txt:11 ../E/sizeof.txt:21 ../E/sniff.txt:16 ../E/space.txt:22 ../E/sqrt.txt:11 ../E/static.txt:20 ../E/strfind.txt:18 ../E/string.txt:32 ../E/strleft.txt:14 ../E/strlen.txt:12 ../E/strlower.txt:10 ../E/strmid.txt:18 ../E/strright.txt:14 ../E/strupper.txt:10 ../E/strval.txt:17 ../E/synchro.txt:23 ../E/takeoff.txt:15 ../E/tan.txt:11 ../E/term.txt:30 ../E/testinfo.txt:16 ../E/this.txt:52 ../E/thump.txt:12 ../E/topo.txt:13 ../E/true.txt:4 ../E/trunc.txt:12 ../E/turn.txt:32 ../E/type.txt:32 ../E/var.txt:66 ../E/void.txt:10 ../E/wait.txt:21 ../E/while.txt:46 ../E/writeln.txt:19
+#: ../E/abstime.txt:10 ../E/acos.txt:11 ../E/aim.txt:23 ../E/array.txt:30 ../E/asin.txt:11 ../E/atan.txt:11 ../E/atan2.txt:16 ../E/bloc.txt:48 ../E/bool.txt:4 ../E/break.txt:24 ../E/build.txt:27 ../E/buildingenabled.txt:22 ../E/busy.txt:14 ../E/canbuild.txt:22 ../E/canresearch.txt:14 ../E/category.txt:107 ../E/ceil.txt:12 ../E/class.txt:70 ../E/close.txt:6 ../E/cond.txt:27 ../E/continue.txt:24 ../E/cos.txt:11 ../E/deletef.txt:9 ../E/delinfo.txt:13 ../E/destroy.txt:15 ../E/direct.txt:13 ../E/dist.txt:29 ../E/dist2d.txt:13 ../E/do.txt:27 ../E/drop.txt:28 ../E/eof.txt:13 ../E/errmode.txt:32 ../E/expr.txt:74 ../E/extern.txt:29 ../E/factory.txt:21 ../E/false.txt:4 ../E/file.txt:16 ../E/fire.txt:30 ../E/flatgrnd.txt:16 ../E/flatspace.txt:25 ../E/float.txt:24 ../E/floor.txt:12 ../E/for.txt:38 ../E/function.txt:129 ../E/goto.txt:34 ../E/grab.txt:28 ../E/if.txt:39 ../E/int.txt:18 ../E/jet.txt:14 ../E/message.txt:24 ../E/motor.txt:38 ../E/move.txt:21 ../E/nan.txt:14 ../E/new.txt:20 ../E/null.txt:4 ../E/object.txt:79 ../E/open.txt:18 ../E/openfile.txt:10 ../E/pencolor.txt:14 ../E/pendown.txt:17 ../E/penup.txt:11 ../E/penwidth.txt:14 ../E/point.txt:35 ../E/pointer.txt:51 ../E/pow.txt:14 ../E/private.txt:17 ../E/public.txt:49 ../E/radar.txt:80 ../E/rand.txt:8 ../E/readln.txt:18 ../E/receive.txt:16 ../E/recycle.txt:12 ../E/research.txt:18 ../E/researched.txt:14 ../E/researches.txt:27 ../E/retobj.txt:13 ../E/return.txt:29 ../E/round.txt:12 ../E/search.txt:25 ../E/send.txt:17 ../E/shield.txt:18 ../E/sin.txt:11 ../E/sizeof.txt:21 ../E/sniff.txt:16 ../E/space.txt:22 ../E/sqrt.txt:11 ../E/static.txt:20 ../E/strfind.txt:18 ../E/string.txt:32 ../E/strleft.txt:14 ../E/strlen.txt:12 ../E/strlower.txt:10 ../E/strmid.txt:18 ../E/strright.txt:14 ../E/strupper.txt:10 ../E/strval.txt:17 ../E/switch.txt:70 ../E/synchro.txt:23 ../E/takeoff.txt:15 ../E/tan.txt:11 ../E/term.txt:30 ../E/testinfo.txt:16 ../E/this.txt:52 ../E/thump.txt:12 ../E/topo.txt:13 ../E/true.txt:4 ../E/trunc.txt:12 ../E/turn.txt:32 ../E/type.txt:32 ../E/var.txt:66 ../E/void.txt:10 ../E/wait.txt:21 ../E/while.txt:46 ../E/writeln.txt:19
#, no-wrap
msgid "See also"
msgstr "Siehe auch"
#. type: Plain text
-#: ../E/abstime.txt:11 ../E/aim.txt:24 ../E/array.txt:31 ../E/bool.txt:5 ../E/break.txt:25 ../E/busy.txt:15 ../E/cond.txt:28 ../E/continue.txt:25 ../E/deletef.txt:10 ../E/destroy.txt:16 ../E/direct.txt:14 ../E/dist.txt:30 ../E/dist2d.txt:14 ../E/drop.txt:29 ../E/errmode.txt:33 ../E/expr.txt:75 ../E/extern.txt:30 ../E/false.txt:5 ../E/fire.txt:31 ../E/flatgrnd.txt:17 ../E/flatspace.txt:26 ../E/float.txt:25 ../E/for.txt:39 ../E/function.txt:130 ../E/goto.txt:35 ../E/grab.txt:29 ../E/if.txt:40 ../E/int.txt:19 ../E/jet.txt:15 ../E/message.txt:25 ../E/move.txt:22 ../E/nan.txt:15 ../E/object.txt:80 ../E/openfile.txt:11 ../E/pencolor.txt:15 ../E/pendown.txt:18 ../E/penup.txt:12 ../E/penwidth.txt:15 ../E/point.txt:36 ../E/radar.txt:81 ../E/recycle.txt:13 ../E/retobj.txt:14 ../E/return.txt:30 ../E/search.txt:26 ../E/shield.txt:19 ../E/sizeof.txt:22 ../E/sniff.txt:17 ../E/space.txt:23 ../E/string.txt:33 ../E/takeoff.txt:16 ../E/term.txt:31 ../E/thump.txt:13 ../E/topo.txt:14 ../E/true.txt:5 ../E/turn.txt:33 ../E/type.txt:33 ../E/var.txt:67 ../E/void.txt:11 ../E/wait.txt:22
+#: ../E/abstime.txt:11 ../E/aim.txt:24 ../E/array.txt:31 ../E/bool.txt:5 ../E/break.txt:25 ../E/busy.txt:15 ../E/cond.txt:28 ../E/continue.txt:25 ../E/deletef.txt:10 ../E/destroy.txt:16 ../E/direct.txt:14 ../E/dist.txt:30 ../E/dist2d.txt:14 ../E/drop.txt:29 ../E/errmode.txt:33 ../E/expr.txt:75 ../E/extern.txt:30 ../E/false.txt:5 ../E/fire.txt:31 ../E/flatgrnd.txt:17 ../E/flatspace.txt:26 ../E/float.txt:25 ../E/for.txt:39 ../E/function.txt:130 ../E/goto.txt:35 ../E/grab.txt:29 ../E/if.txt:40 ../E/int.txt:19 ../E/jet.txt:15 ../E/message.txt:25 ../E/move.txt:22 ../E/nan.txt:15 ../E/object.txt:80 ../E/openfile.txt:11 ../E/pencolor.txt:15 ../E/pendown.txt:18 ../E/penup.txt:12 ../E/penwidth.txt:15 ../E/point.txt:36 ../E/radar.txt:81 ../E/recycle.txt:13 ../E/retobj.txt:14 ../E/return.txt:30 ../E/search.txt:26 ../E/shield.txt:19 ../E/sizeof.txt:22 ../E/sniff.txt:17 ../E/space.txt:23 ../E/string.txt:33 ../E/switch.txt:71 ../E/takeoff.txt:16 ../E/term.txt:31 ../E/thump.txt:13 ../E/topo.txt:14 ../E/true.txt:5 ../E/turn.txt:33 ../E/type.txt:33 ../E/var.txt:67 ../E/void.txt:11 ../E/wait.txt:22
#, no-wrap
msgid "Programming, types and categories."
msgstr "Die CBOT-Sprache, Variablentypen und Kategorien."
@@ -1043,7 +1043,7 @@ msgid "With the instruction distance( , )
you can calculate the dis
msgstr "Mit der Anweisung distance( , )
können Sie die Distanz zwischen zwei Positionen berechnen."
#. type: \b; header
-#: ../E/build.txt:4 ../E/buildingenabled.txt:4 ../E/canbuild.txt:4 ../E/dist.txt:4 ../E/drop.txt:4 ../E/fire.txt:4 ../E/function.txt:16 ../E/goto.txt:4 ../E/grab.txt:4 ../E/if.txt:4 ../E/motor.txt:4 ../E/move.txt:4 ../E/radar.txt:4 ../E/turn.txt:4 ../E/wait.txt:4 ../E/while.txt:4
+#: ../E/build.txt:4 ../E/buildingenabled.txt:4 ../E/canbuild.txt:4 ../E/dist.txt:4 ../E/drop.txt:4 ../E/fire.txt:4 ../E/function.txt:16 ../E/goto.txt:4 ../E/grab.txt:4 ../E/if.txt:4 ../E/motor.txt:4 ../E/move.txt:4 ../E/radar.txt:4 ../E/switch.txt:4 ../E/turn.txt:4 ../E/wait.txt:4 ../E/while.txt:4
#, no-wrap
msgid "Basic use"
msgstr "Grundlagen"
@@ -1087,13 +1087,13 @@ msgstr ""
"\tmove(distance(position, item.position) - 40);"
#. type: \b; header, \t; header
-#: ../E/build.txt:13 ../E/buildingenabled.txt:12 ../E/canbuild.txt:12 ../E/dist.txt:17 ../E/drop.txt:11 ../E/errmode.txt:4 ../E/file.txt:10 ../E/fire.txt:9 ../E/float.txt:19 ../E/goto.txt:11 ../E/grab.txt:11 ../E/if.txt:22 ../E/int.txt:13 ../E/motor.txt:14 ../E/move.txt:7 ../E/radar.txt:13 ../E/return.txt:9 ../E/turn.txt:18 ../E/wait.txt:9 ../E/while.txt:19
+#: ../E/build.txt:13 ../E/buildingenabled.txt:12 ../E/canbuild.txt:12 ../E/dist.txt:17 ../E/drop.txt:11 ../E/errmode.txt:4 ../E/file.txt:10 ../E/fire.txt:9 ../E/float.txt:19 ../E/goto.txt:11 ../E/grab.txt:11 ../E/if.txt:22 ../E/int.txt:13 ../E/motor.txt:14 ../E/move.txt:7 ../E/radar.txt:13 ../E/return.txt:9 ../E/switch.txt:46 ../E/turn.txt:18 ../E/wait.txt:9 ../E/while.txt:19
#, no-wrap
msgid "For specialists"
msgstr "Für Spezialisten"
#. type: Plain text
-#: ../E/acos.txt:2 ../E/aim.txt:2 ../E/asin.txt:2 ../E/atan.txt:2 ../E/atan2.txt:2 ../E/build.txt:14 ../E/buildingenabled.txt:13 ../E/busy.txt:2 ../E/canbuild.txt:13 ../E/canresearch.txt:2 ../E/ceil.txt:2 ../E/cos.txt:2 ../E/destroy.txt:2 ../E/dist.txt:18 ../E/dist2d.txt:2 ../E/do.txt:2 ../E/drop.txt:12 ../E/factory.txt:2 ../E/fire.txt:10 ../E/flatspace.txt:2 ../E/floor.txt:2 ../E/for.txt:2 ../E/goto.txt:12 ../E/grab.txt:12 ../E/if.txt:23 ../E/jet.txt:2 ../E/message.txt:2 ../E/move.txt:8 ../E/pencolor.txt:2 ../E/pendown.txt:2 ../E/penup.txt:2 ../E/penwidth.txt:2 ../E/pow.txt:2 ../E/radar.txt:14 ../E/rand.txt:2 ../E/receive.txt:2 ../E/recycle.txt:2 ../E/research.txt:2 ../E/researched.txt:2 ../E/retobj.txt:2 ../E/round.txt:2 ../E/search.txt:2 ../E/shield.txt:2 ../E/sin.txt:2 ../E/sniff.txt:2 ../E/space.txt:2 ../E/sqrt.txt:2 ../E/takeoff.txt:2 ../E/tan.txt:2 ../E/thump.txt:2 ../E/topo.txt:2 ../E/trunc.txt:2 ../E/turn.txt:19 ../E/wait.txt:10
+#: ../E/acos.txt:2 ../E/aim.txt:2 ../E/asin.txt:2 ../E/atan.txt:2 ../E/atan2.txt:2 ../E/build.txt:14 ../E/buildingenabled.txt:13 ../E/busy.txt:2 ../E/canbuild.txt:13 ../E/canresearch.txt:2 ../E/ceil.txt:2 ../E/cos.txt:2 ../E/destroy.txt:2 ../E/dist.txt:18 ../E/dist2d.txt:2 ../E/do.txt:2 ../E/drop.txt:12 ../E/factory.txt:2 ../E/fire.txt:10 ../E/flatspace.txt:2 ../E/floor.txt:2 ../E/for.txt:2 ../E/goto.txt:12 ../E/grab.txt:12 ../E/if.txt:23 ../E/jet.txt:2 ../E/message.txt:2 ../E/move.txt:8 ../E/pencolor.txt:2 ../E/pendown.txt:2 ../E/penup.txt:2 ../E/penwidth.txt:2 ../E/pow.txt:2 ../E/radar.txt:14 ../E/rand.txt:2 ../E/receive.txt:2 ../E/recycle.txt:2 ../E/research.txt:2 ../E/researched.txt:2 ../E/retobj.txt:2 ../E/round.txt:2 ../E/search.txt:2 ../E/shield.txt:2 ../E/sin.txt:2 ../E/sniff.txt:2 ../E/space.txt:2 ../E/sqrt.txt:2 ../E/switch.txt:47 ../E/takeoff.txt:2 ../E/tan.txt:2 ../E/thump.txt:2 ../E/topo.txt:2 ../E/trunc.txt:2 ../E/turn.txt:19 ../E/wait.txt:10
#, no-wrap
msgid "Syntax:"
msgstr "Syntax:"
@@ -1213,7 +1213,7 @@ msgstr ""
"while ( p == null );"
#. type: \t; header
-#: ../E/do.txt:22 ../E/float.txt:11 ../E/for.txt:33 ../E/if.txt:36 ../E/int.txt:10 ../E/while.txt:41
+#: ../E/do.txt:22 ../E/float.txt:11 ../E/for.txt:33 ../E/if.txt:36 ../E/int.txt:10 ../E/switch.txt:67 ../E/while.txt:41
#, no-wrap
msgid "Attention"
msgstr "Achtung"
@@ -7671,6 +7671,167 @@ msgstr ""
msgid "Filters and IDs can be mixed using bitwise OR operator |
, for example radar(Any, 0, 360, 0, 1000, 1, 2 | FilterOnlyLanding); will only detect an object from team 2
that is on the ground. Attention: you can specify only one team ID at once, but you can specify several filters at once."
msgstr ""
+#. type: \b; header
+#: ../E/switch.txt:1
+#, no-wrap
+msgid "Instructions switch
, case
and default
"
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:2
+#, no-wrap
+msgid "With the instruction switch() {}
you can execute a proper set of instructions (a case) basing on some value."
+msgstr ""
+
+#. type: Source code
+#: ../E/switch.txt:9
+#, no-wrap
+msgid ""
+"public void WaitForTaskCompleted(object building)\n"
+"{\n"
+"\tint cat = building.category;\n"
+"\tif (cat == Converter) wait(15);\n"
+"\telse if (cat == BotFactory) wait(15);\n"
+"\telse if (cat == PowerPlant) wait(12);\n"
+"\telse message(\"Undefined wait time\", DisplayError);\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:18
+#, no-wrap
+msgid "This function can be also written using the switch() {}
instruction:"
+msgstr ""
+
+#. type: Source code
+#: ../E/switch.txt:20
+#, no-wrap
+msgid ""
+"public void WaitForTaskCompleted(object building)\n"
+"{\n"
+"\tswitch (building.category)\n"
+"\t{\n"
+"\t\tcase Converter: wait(15); break;\n"
+"\t\tcase BotFactory: wait(15); break;\n"
+"\t\tcase PowerPlant: wait(12); break;\n"
+"\t\tdefault: message(\"Undefined wait time\", DisplayError);\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:31
+#, no-wrap
+msgid "Which way to write this kind of choice structures, is a matter of taste."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:33
+#, no-wrap
+msgid "You can also make cases like this:"
+msgstr ""
+
+#. type: Source code
+#: ../E/switch.txt:35
+#, no-wrap
+msgid ""
+"switch (building.category)\n"
+"{\n"
+"\tcase Converter:\n"
+"\tcase BotFactory:\n"
+"\t\twait(15); break;\n"
+"\tcase PowerPlant: wait(12); break;\n"
+"\tdefault: message(\"Undefined wait time\", DisplayError);\n"
+"}"
+msgstr ""
+
+#. type: Source code
+#: ../E/switch.txt:48
+#, no-wrap
+msgid ""
+"switch ( value )\n"
+"{\n"
+"\tcase value1: instructions1\n"
+"\tcase value2: instructions2\n"
+"\t...\n"
+"\tcase valueN: instructionsN\n"
+"\tdefault: instructionsDefault\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:5
+#, no-wrap
+msgid "Note: the busy instruction might be much better to use in this scenario."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:7
+#, no-wrap
+msgid "See the following function: the bot will be waiting a proper amount of time for a certain task to be completed:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:44
+#, no-wrap
+msgid "Converter and bot factory have the same waiting time, so in order to not write the same instructions twice, we made multiple cases run the same code. In fact, all code after the highest case used will be executed if we do not break
it."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:57
+#, no-wrap
+msgid "With this conditional structure you can execute instructions1
or instructions2
... or instructionsN
or instructionsDefault
depending on the value
."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:59
+#, no-wrap
+msgid ""
+"If the value
is equal to value1
, instructions1
to N
(including instructionsDefault
) are executed.\n"
+"If the value
is equal to value2
, instructions2
to N
(including instructionsDefault
) are executed.\n"
+"And so on.\n"
+"If the value
is equal to valueN
, instructionsN
and instructionsDefault
are executed.\n"
+"If the value
is not equal to any value in the given cases, instructionsDefault
are executed."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:68
+#, no-wrap
+msgid "Do not put a semicolon at the end of the switch ( ) { }
instruction."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:65
+#, no-wrap
+msgid "You can exit from the the switch() {}
instruction using break
."
+msgstr ""
+
+#~ msgid "You can stop the the switch() {}
instruction using break
."
+#~ msgstr ""
+
+#~ msgid "Converter and bot factory have the same waiting time, so in order to not write the same instructions twice, we made multiple cases run the same code. In fact, all code after the highest case used will be executed if we do not break it."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "With this conditional structure you can execute instructions1
or instructions2
... or instructionsN
or instructionsDefault
depending on the value
.\n"
+#~ "If the value
is equal to value1
, instructions1
to N
(including instructionsDefault
) are executed.\n"
+#~ "If the value
is equal to value2
, instructions2
to N
(including instructionsDefault
) are executed.\n"
+#~ "And so on.\n"
+#~ "If the value
is equal to valueN
, instructionsN
and instructionsDefault
are executed.\n"
+#~ "If the value
is not equal to any value in the given cases, instructionsDefault
are executed."
+#~ msgstr ""
+
+#~ msgid "You can stop the the switch() {}
instruction using break."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Note: the busy instruction might be much better to use in this scenario.\n"
+#~ "See the following function: the bot will be waiting a proper amount of time for a certain task to be completed:"
+#~ msgstr ""
+
+#~ msgid "With this conditional structure you can execute instruction1 or instructions2 ... or instructionsN or instructionsDefault depending on the value
. If the value
is equal to value1
, instructions1
to N
(including instructionsDefault
) are executed. If the value
is equal to value2
, instructions2
to N
(including instructionsDefault
) are executed. And so on. If the value
is equal to valueN
, instructionsN
and instructionsDefault
are executed. If the value
is not equal to any value in the given cases, instructionsDefault
are executed."
+#~ msgstr ""
+
#~ msgid "The last three are mainly useful in code battles. You can also pass a team ID to search only for objects from a specific team."
#~ msgstr ""
diff --git a/help/cbot/po/fr.po b/help/cbot/po/fr.po
index b589b342..b536e7e5 100644
--- a/help/cbot/po/fr.po
+++ b/help/cbot/po/fr.po
@@ -53,13 +53,13 @@ msgid "Time in seconds."
msgstr "Temps en secondes."
#. type: \t; header
-#: ../E/abstime.txt:10 ../E/acos.txt:11 ../E/aim.txt:23 ../E/array.txt:30 ../E/asin.txt:11 ../E/atan.txt:11 ../E/atan2.txt:16 ../E/bloc.txt:48 ../E/bool.txt:4 ../E/break.txt:24 ../E/build.txt:27 ../E/buildingenabled.txt:22 ../E/busy.txt:14 ../E/canbuild.txt:22 ../E/canresearch.txt:14 ../E/category.txt:107 ../E/ceil.txt:12 ../E/class.txt:70 ../E/close.txt:6 ../E/cond.txt:27 ../E/continue.txt:24 ../E/cos.txt:11 ../E/deletef.txt:9 ../E/delinfo.txt:13 ../E/destroy.txt:15 ../E/direct.txt:13 ../E/dist.txt:29 ../E/dist2d.txt:13 ../E/do.txt:27 ../E/drop.txt:28 ../E/eof.txt:13 ../E/errmode.txt:32 ../E/expr.txt:74 ../E/extern.txt:29 ../E/factory.txt:21 ../E/false.txt:4 ../E/file.txt:16 ../E/fire.txt:30 ../E/flatgrnd.txt:16 ../E/flatspace.txt:25 ../E/float.txt:24 ../E/floor.txt:12 ../E/for.txt:38 ../E/function.txt:129 ../E/goto.txt:34 ../E/grab.txt:28 ../E/if.txt:39 ../E/int.txt:18 ../E/jet.txt:14 ../E/message.txt:24 ../E/motor.txt:38 ../E/move.txt:21 ../E/nan.txt:14 ../E/new.txt:20 ../E/null.txt:4 ../E/object.txt:79 ../E/open.txt:18 ../E/openfile.txt:10 ../E/pencolor.txt:14 ../E/pendown.txt:17 ../E/penup.txt:11 ../E/penwidth.txt:14 ../E/point.txt:35 ../E/pointer.txt:51 ../E/pow.txt:14 ../E/private.txt:17 ../E/public.txt:49 ../E/radar.txt:80 ../E/rand.txt:8 ../E/readln.txt:18 ../E/receive.txt:16 ../E/recycle.txt:12 ../E/research.txt:18 ../E/researched.txt:14 ../E/researches.txt:27 ../E/retobj.txt:13 ../E/return.txt:29 ../E/round.txt:12 ../E/search.txt:25 ../E/send.txt:17 ../E/shield.txt:18 ../E/sin.txt:11 ../E/sizeof.txt:21 ../E/sniff.txt:16 ../E/space.txt:22 ../E/sqrt.txt:11 ../E/static.txt:20 ../E/strfind.txt:18 ../E/string.txt:32 ../E/strleft.txt:14 ../E/strlen.txt:12 ../E/strlower.txt:10 ../E/strmid.txt:18 ../E/strright.txt:14 ../E/strupper.txt:10 ../E/strval.txt:17 ../E/synchro.txt:23 ../E/takeoff.txt:15 ../E/tan.txt:11 ../E/term.txt:30 ../E/testinfo.txt:16 ../E/this.txt:52 ../E/thump.txt:12 ../E/topo.txt:13 ../E/true.txt:4 ../E/trunc.txt:12 ../E/turn.txt:32 ../E/type.txt:32 ../E/var.txt:66 ../E/void.txt:10 ../E/wait.txt:21 ../E/while.txt:46 ../E/writeln.txt:19
+#: ../E/abstime.txt:10 ../E/acos.txt:11 ../E/aim.txt:23 ../E/array.txt:30 ../E/asin.txt:11 ../E/atan.txt:11 ../E/atan2.txt:16 ../E/bloc.txt:48 ../E/bool.txt:4 ../E/break.txt:24 ../E/build.txt:27 ../E/buildingenabled.txt:22 ../E/busy.txt:14 ../E/canbuild.txt:22 ../E/canresearch.txt:14 ../E/category.txt:107 ../E/ceil.txt:12 ../E/class.txt:70 ../E/close.txt:6 ../E/cond.txt:27 ../E/continue.txt:24 ../E/cos.txt:11 ../E/deletef.txt:9 ../E/delinfo.txt:13 ../E/destroy.txt:15 ../E/direct.txt:13 ../E/dist.txt:29 ../E/dist2d.txt:13 ../E/do.txt:27 ../E/drop.txt:28 ../E/eof.txt:13 ../E/errmode.txt:32 ../E/expr.txt:74 ../E/extern.txt:29 ../E/factory.txt:21 ../E/false.txt:4 ../E/file.txt:16 ../E/fire.txt:30 ../E/flatgrnd.txt:16 ../E/flatspace.txt:25 ../E/float.txt:24 ../E/floor.txt:12 ../E/for.txt:38 ../E/function.txt:129 ../E/goto.txt:34 ../E/grab.txt:28 ../E/if.txt:39 ../E/int.txt:18 ../E/jet.txt:14 ../E/message.txt:24 ../E/motor.txt:38 ../E/move.txt:21 ../E/nan.txt:14 ../E/new.txt:20 ../E/null.txt:4 ../E/object.txt:79 ../E/open.txt:18 ../E/openfile.txt:10 ../E/pencolor.txt:14 ../E/pendown.txt:17 ../E/penup.txt:11 ../E/penwidth.txt:14 ../E/point.txt:35 ../E/pointer.txt:51 ../E/pow.txt:14 ../E/private.txt:17 ../E/public.txt:49 ../E/radar.txt:80 ../E/rand.txt:8 ../E/readln.txt:18 ../E/receive.txt:16 ../E/recycle.txt:12 ../E/research.txt:18 ../E/researched.txt:14 ../E/researches.txt:27 ../E/retobj.txt:13 ../E/return.txt:29 ../E/round.txt:12 ../E/search.txt:25 ../E/send.txt:17 ../E/shield.txt:18 ../E/sin.txt:11 ../E/sizeof.txt:21 ../E/sniff.txt:16 ../E/space.txt:22 ../E/sqrt.txt:11 ../E/static.txt:20 ../E/strfind.txt:18 ../E/string.txt:32 ../E/strleft.txt:14 ../E/strlen.txt:12 ../E/strlower.txt:10 ../E/strmid.txt:18 ../E/strright.txt:14 ../E/strupper.txt:10 ../E/strval.txt:17 ../E/switch.txt:70 ../E/synchro.txt:23 ../E/takeoff.txt:15 ../E/tan.txt:11 ../E/term.txt:30 ../E/testinfo.txt:16 ../E/this.txt:52 ../E/thump.txt:12 ../E/topo.txt:13 ../E/true.txt:4 ../E/trunc.txt:12 ../E/turn.txt:32 ../E/type.txt:32 ../E/var.txt:66 ../E/void.txt:10 ../E/wait.txt:21 ../E/while.txt:46 ../E/writeln.txt:19
#, no-wrap
msgid "See also"
msgstr "Voir aussi"
#. type: Plain text
-#: ../E/abstime.txt:11 ../E/aim.txt:24 ../E/array.txt:31 ../E/bool.txt:5 ../E/break.txt:25 ../E/busy.txt:15 ../E/cond.txt:28 ../E/continue.txt:25 ../E/deletef.txt:10 ../E/destroy.txt:16 ../E/direct.txt:14 ../E/dist.txt:30 ../E/dist2d.txt:14 ../E/drop.txt:29 ../E/errmode.txt:33 ../E/expr.txt:75 ../E/extern.txt:30 ../E/false.txt:5 ../E/fire.txt:31 ../E/flatgrnd.txt:17 ../E/flatspace.txt:26 ../E/float.txt:25 ../E/for.txt:39 ../E/function.txt:130 ../E/goto.txt:35 ../E/grab.txt:29 ../E/if.txt:40 ../E/int.txt:19 ../E/jet.txt:15 ../E/message.txt:25 ../E/move.txt:22 ../E/nan.txt:15 ../E/object.txt:80 ../E/openfile.txt:11 ../E/pencolor.txt:15 ../E/pendown.txt:18 ../E/penup.txt:12 ../E/penwidth.txt:15 ../E/point.txt:36 ../E/radar.txt:81 ../E/recycle.txt:13 ../E/retobj.txt:14 ../E/return.txt:30 ../E/search.txt:26 ../E/shield.txt:19 ../E/sizeof.txt:22 ../E/sniff.txt:17 ../E/space.txt:23 ../E/string.txt:33 ../E/takeoff.txt:16 ../E/term.txt:31 ../E/thump.txt:13 ../E/topo.txt:14 ../E/true.txt:5 ../E/turn.txt:33 ../E/type.txt:33 ../E/var.txt:67 ../E/void.txt:11 ../E/wait.txt:22
+#: ../E/abstime.txt:11 ../E/aim.txt:24 ../E/array.txt:31 ../E/bool.txt:5 ../E/break.txt:25 ../E/busy.txt:15 ../E/cond.txt:28 ../E/continue.txt:25 ../E/deletef.txt:10 ../E/destroy.txt:16 ../E/direct.txt:14 ../E/dist.txt:30 ../E/dist2d.txt:14 ../E/drop.txt:29 ../E/errmode.txt:33 ../E/expr.txt:75 ../E/extern.txt:30 ../E/false.txt:5 ../E/fire.txt:31 ../E/flatgrnd.txt:17 ../E/flatspace.txt:26 ../E/float.txt:25 ../E/for.txt:39 ../E/function.txt:130 ../E/goto.txt:35 ../E/grab.txt:29 ../E/if.txt:40 ../E/int.txt:19 ../E/jet.txt:15 ../E/message.txt:25 ../E/move.txt:22 ../E/nan.txt:15 ../E/object.txt:80 ../E/openfile.txt:11 ../E/pencolor.txt:15 ../E/pendown.txt:18 ../E/penup.txt:12 ../E/penwidth.txt:15 ../E/point.txt:36 ../E/radar.txt:81 ../E/recycle.txt:13 ../E/retobj.txt:14 ../E/return.txt:30 ../E/search.txt:26 ../E/shield.txt:19 ../E/sizeof.txt:22 ../E/sniff.txt:17 ../E/space.txt:23 ../E/string.txt:33 ../E/switch.txt:71 ../E/takeoff.txt:16 ../E/term.txt:31 ../E/thump.txt:13 ../E/topo.txt:14 ../E/true.txt:5 ../E/turn.txt:33 ../E/type.txt:33 ../E/var.txt:67 ../E/void.txt:11 ../E/wait.txt:22
#, no-wrap
msgid "Programming, types and categories."
msgstr "Programmation, types et catégories."
@@ -1082,7 +1082,7 @@ msgid "With the instruction distance( , )
you can calculate the dis
msgstr "Avec l'instruction distance( , )
vous pouvez calculer la distance entre deux positions. "
#. type: \b; header
-#: ../E/build.txt:4 ../E/buildingenabled.txt:4 ../E/canbuild.txt:4 ../E/dist.txt:4 ../E/drop.txt:4 ../E/fire.txt:4 ../E/function.txt:16 ../E/goto.txt:4 ../E/grab.txt:4 ../E/if.txt:4 ../E/motor.txt:4 ../E/move.txt:4 ../E/radar.txt:4 ../E/turn.txt:4 ../E/wait.txt:4 ../E/while.txt:4
+#: ../E/build.txt:4 ../E/buildingenabled.txt:4 ../E/canbuild.txt:4 ../E/dist.txt:4 ../E/drop.txt:4 ../E/fire.txt:4 ../E/function.txt:16 ../E/goto.txt:4 ../E/grab.txt:4 ../E/if.txt:4 ../E/motor.txt:4 ../E/move.txt:4 ../E/radar.txt:4 ../E/switch.txt:4 ../E/turn.txt:4 ../E/wait.txt:4 ../E/while.txt:4
#, no-wrap
msgid "Basic use"
msgstr "Utilisation courante"
@@ -1126,13 +1126,13 @@ msgstr ""
"\tmove(distance(position, chose.position) - 40);"
#. type: \b; header, \t; header
-#: ../E/build.txt:13 ../E/buildingenabled.txt:12 ../E/canbuild.txt:12 ../E/dist.txt:17 ../E/drop.txt:11 ../E/errmode.txt:4 ../E/file.txt:10 ../E/fire.txt:9 ../E/float.txt:19 ../E/goto.txt:11 ../E/grab.txt:11 ../E/if.txt:22 ../E/int.txt:13 ../E/motor.txt:14 ../E/move.txt:7 ../E/radar.txt:13 ../E/return.txt:9 ../E/turn.txt:18 ../E/wait.txt:9 ../E/while.txt:19
+#: ../E/build.txt:13 ../E/buildingenabled.txt:12 ../E/canbuild.txt:12 ../E/dist.txt:17 ../E/drop.txt:11 ../E/errmode.txt:4 ../E/file.txt:10 ../E/fire.txt:9 ../E/float.txt:19 ../E/goto.txt:11 ../E/grab.txt:11 ../E/if.txt:22 ../E/int.txt:13 ../E/motor.txt:14 ../E/move.txt:7 ../E/radar.txt:13 ../E/return.txt:9 ../E/switch.txt:46 ../E/turn.txt:18 ../E/wait.txt:9 ../E/while.txt:19
#, no-wrap
msgid "For specialists"
msgstr "Pour spécialistes"
#. type: Plain text
-#: ../E/acos.txt:2 ../E/aim.txt:2 ../E/asin.txt:2 ../E/atan.txt:2 ../E/atan2.txt:2 ../E/build.txt:14 ../E/buildingenabled.txt:13 ../E/busy.txt:2 ../E/canbuild.txt:13 ../E/canresearch.txt:2 ../E/ceil.txt:2 ../E/cos.txt:2 ../E/destroy.txt:2 ../E/dist.txt:18 ../E/dist2d.txt:2 ../E/do.txt:2 ../E/drop.txt:12 ../E/factory.txt:2 ../E/fire.txt:10 ../E/flatspace.txt:2 ../E/floor.txt:2 ../E/for.txt:2 ../E/goto.txt:12 ../E/grab.txt:12 ../E/if.txt:23 ../E/jet.txt:2 ../E/message.txt:2 ../E/move.txt:8 ../E/pencolor.txt:2 ../E/pendown.txt:2 ../E/penup.txt:2 ../E/penwidth.txt:2 ../E/pow.txt:2 ../E/radar.txt:14 ../E/rand.txt:2 ../E/receive.txt:2 ../E/recycle.txt:2 ../E/research.txt:2 ../E/researched.txt:2 ../E/retobj.txt:2 ../E/round.txt:2 ../E/search.txt:2 ../E/shield.txt:2 ../E/sin.txt:2 ../E/sniff.txt:2 ../E/space.txt:2 ../E/sqrt.txt:2 ../E/takeoff.txt:2 ../E/tan.txt:2 ../E/thump.txt:2 ../E/topo.txt:2 ../E/trunc.txt:2 ../E/turn.txt:19 ../E/wait.txt:10
+#: ../E/acos.txt:2 ../E/aim.txt:2 ../E/asin.txt:2 ../E/atan.txt:2 ../E/atan2.txt:2 ../E/build.txt:14 ../E/buildingenabled.txt:13 ../E/busy.txt:2 ../E/canbuild.txt:13 ../E/canresearch.txt:2 ../E/ceil.txt:2 ../E/cos.txt:2 ../E/destroy.txt:2 ../E/dist.txt:18 ../E/dist2d.txt:2 ../E/do.txt:2 ../E/drop.txt:12 ../E/factory.txt:2 ../E/fire.txt:10 ../E/flatspace.txt:2 ../E/floor.txt:2 ../E/for.txt:2 ../E/goto.txt:12 ../E/grab.txt:12 ../E/if.txt:23 ../E/jet.txt:2 ../E/message.txt:2 ../E/move.txt:8 ../E/pencolor.txt:2 ../E/pendown.txt:2 ../E/penup.txt:2 ../E/penwidth.txt:2 ../E/pow.txt:2 ../E/radar.txt:14 ../E/rand.txt:2 ../E/receive.txt:2 ../E/recycle.txt:2 ../E/research.txt:2 ../E/researched.txt:2 ../E/retobj.txt:2 ../E/round.txt:2 ../E/search.txt:2 ../E/shield.txt:2 ../E/sin.txt:2 ../E/sniff.txt:2 ../E/space.txt:2 ../E/sqrt.txt:2 ../E/switch.txt:47 ../E/takeoff.txt:2 ../E/tan.txt:2 ../E/thump.txt:2 ../E/topo.txt:2 ../E/trunc.txt:2 ../E/turn.txt:19 ../E/wait.txt:10
#, no-wrap
msgid "Syntax:"
msgstr "Syntaxe:"
@@ -1252,7 +1252,7 @@ msgstr ""
"while ( p == null );"
#. type: \t; header
-#: ../E/do.txt:22 ../E/float.txt:11 ../E/for.txt:33 ../E/if.txt:36 ../E/int.txt:10 ../E/while.txt:41
+#: ../E/do.txt:22 ../E/float.txt:11 ../E/for.txt:33 ../E/if.txt:36 ../E/int.txt:10 ../E/switch.txt:67 ../E/while.txt:41
#, no-wrap
msgid "Attention"
msgstr "Attention"
@@ -7627,6 +7627,167 @@ msgstr ""
msgid "Filters and IDs can be mixed using bitwise OR operator |
, for example radar(Any, 0, 360, 0, 1000, 1, 2 | FilterOnlyLanding); will only detect an object from team 2
that is on the ground. Attention: you can specify only one team ID at once, but you can specify several filters at once."
msgstr ""
+#. type: \b; header
+#: ../E/switch.txt:1
+#, no-wrap
+msgid "Instructions switch
, case
and default
"
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:2
+#, no-wrap
+msgid "With the instruction switch() {}
you can execute a proper set of instructions (a case) basing on some value."
+msgstr ""
+
+#. type: Source code
+#: ../E/switch.txt:9
+#, no-wrap
+msgid ""
+"public void WaitForTaskCompleted(object building)\n"
+"{\n"
+"\tint cat = building.category;\n"
+"\tif (cat == Converter) wait(15);\n"
+"\telse if (cat == BotFactory) wait(15);\n"
+"\telse if (cat == PowerPlant) wait(12);\n"
+"\telse message(\"Undefined wait time\", DisplayError);\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:18
+#, no-wrap
+msgid "This function can be also written using the switch() {}
instruction:"
+msgstr ""
+
+#. type: Source code
+#: ../E/switch.txt:20
+#, no-wrap
+msgid ""
+"public void WaitForTaskCompleted(object building)\n"
+"{\n"
+"\tswitch (building.category)\n"
+"\t{\n"
+"\t\tcase Converter: wait(15); break;\n"
+"\t\tcase BotFactory: wait(15); break;\n"
+"\t\tcase PowerPlant: wait(12); break;\n"
+"\t\tdefault: message(\"Undefined wait time\", DisplayError);\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:31
+#, no-wrap
+msgid "Which way to write this kind of choice structures, is a matter of taste."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:33
+#, no-wrap
+msgid "You can also make cases like this:"
+msgstr ""
+
+#. type: Source code
+#: ../E/switch.txt:35
+#, no-wrap
+msgid ""
+"switch (building.category)\n"
+"{\n"
+"\tcase Converter:\n"
+"\tcase BotFactory:\n"
+"\t\twait(15); break;\n"
+"\tcase PowerPlant: wait(12); break;\n"
+"\tdefault: message(\"Undefined wait time\", DisplayError);\n"
+"}"
+msgstr ""
+
+#. type: Source code
+#: ../E/switch.txt:48
+#, no-wrap
+msgid ""
+"switch ( value )\n"
+"{\n"
+"\tcase value1: instructions1\n"
+"\tcase value2: instructions2\n"
+"\t...\n"
+"\tcase valueN: instructionsN\n"
+"\tdefault: instructionsDefault\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:5
+#, no-wrap
+msgid "Note: the busy instruction might be much better to use in this scenario."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:7
+#, no-wrap
+msgid "See the following function: the bot will be waiting a proper amount of time for a certain task to be completed:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:44
+#, no-wrap
+msgid "Converter and bot factory have the same waiting time, so in order to not write the same instructions twice, we made multiple cases run the same code. In fact, all code after the highest case used will be executed if we do not break
it."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:57
+#, no-wrap
+msgid "With this conditional structure you can execute instructions1
or instructions2
... or instructionsN
or instructionsDefault
depending on the value
."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:59
+#, no-wrap
+msgid ""
+"If the value
is equal to value1
, instructions1
to N
(including instructionsDefault
) are executed.\n"
+"If the value
is equal to value2
, instructions2
to N
(including instructionsDefault
) are executed.\n"
+"And so on.\n"
+"If the value
is equal to valueN
, instructionsN
and instructionsDefault
are executed.\n"
+"If the value
is not equal to any value in the given cases, instructionsDefault
are executed."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:68
+#, no-wrap
+msgid "Do not put a semicolon at the end of the switch ( ) { }
instruction."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:65
+#, no-wrap
+msgid "You can exit from the the switch() {}
instruction using break
."
+msgstr ""
+
+#~ msgid "You can stop the the switch() {}
instruction using break
."
+#~ msgstr ""
+
+#~ msgid "Converter and bot factory have the same waiting time, so in order to not write the same instructions twice, we made multiple cases run the same code. In fact, all code after the highest case used will be executed if we do not break it."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "With this conditional structure you can execute instructions1
or instructions2
... or instructionsN
or instructionsDefault
depending on the value
.\n"
+#~ "If the value
is equal to value1
, instructions1
to N
(including instructionsDefault
) are executed.\n"
+#~ "If the value
is equal to value2
, instructions2
to N
(including instructionsDefault
) are executed.\n"
+#~ "And so on.\n"
+#~ "If the value
is equal to valueN
, instructionsN
and instructionsDefault
are executed.\n"
+#~ "If the value
is not equal to any value in the given cases, instructionsDefault
are executed."
+#~ msgstr ""
+
+#~ msgid "You can stop the the switch() {}
instruction using break."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Note: the busy instruction might be much better to use in this scenario.\n"
+#~ "See the following function: the bot will be waiting a proper amount of time for a certain task to be completed:"
+#~ msgstr ""
+
+#~ msgid "With this conditional structure you can execute instruction1 or instructions2 ... or instructionsN or instructionsDefault depending on the value
. If the value
is equal to value1
, instructions1
to N
(including instructionsDefault
) are executed. If the value
is equal to value2
, instructions2
to N
(including instructionsDefault
) are executed. And so on. If the value
is equal to valueN
, instructionsN
and instructionsDefault
are executed. If the value
is not equal to any value in the given cases, instructionsDefault
are executed."
+#~ msgstr ""
+
#~ msgid "The last three are mainly useful in code battles. You can also pass a team ID to search only for objects from a specific team."
#~ msgstr ""
diff --git a/help/cbot/po/pl.po b/help/cbot/po/pl.po
index 2b9a0b00..c2360000 100644
--- a/help/cbot/po/pl.po
+++ b/help/cbot/po/pl.po
@@ -53,13 +53,13 @@ msgid "Time in seconds."
msgstr "Czas w sekundach."
#. type: \t; header
-#: ../E/abstime.txt:10 ../E/acos.txt:11 ../E/aim.txt:23 ../E/array.txt:30 ../E/asin.txt:11 ../E/atan.txt:11 ../E/atan2.txt:16 ../E/bloc.txt:48 ../E/bool.txt:4 ../E/break.txt:24 ../E/build.txt:27 ../E/buildingenabled.txt:22 ../E/busy.txt:14 ../E/canbuild.txt:22 ../E/canresearch.txt:14 ../E/category.txt:107 ../E/ceil.txt:12 ../E/class.txt:70 ../E/close.txt:6 ../E/cond.txt:27 ../E/continue.txt:24 ../E/cos.txt:11 ../E/deletef.txt:9 ../E/delinfo.txt:13 ../E/destroy.txt:15 ../E/direct.txt:13 ../E/dist.txt:29 ../E/dist2d.txt:13 ../E/do.txt:27 ../E/drop.txt:28 ../E/eof.txt:13 ../E/errmode.txt:32 ../E/expr.txt:74 ../E/extern.txt:29 ../E/factory.txt:21 ../E/false.txt:4 ../E/file.txt:16 ../E/fire.txt:30 ../E/flatgrnd.txt:16 ../E/flatspace.txt:25 ../E/float.txt:24 ../E/floor.txt:12 ../E/for.txt:38 ../E/function.txt:129 ../E/goto.txt:34 ../E/grab.txt:28 ../E/if.txt:39 ../E/int.txt:18 ../E/jet.txt:14 ../E/message.txt:24 ../E/motor.txt:38 ../E/move.txt:21 ../E/nan.txt:14 ../E/new.txt:20 ../E/null.txt:4 ../E/object.txt:79 ../E/open.txt:18 ../E/openfile.txt:10 ../E/pencolor.txt:14 ../E/pendown.txt:17 ../E/penup.txt:11 ../E/penwidth.txt:14 ../E/point.txt:35 ../E/pointer.txt:51 ../E/pow.txt:14 ../E/private.txt:17 ../E/public.txt:49 ../E/radar.txt:80 ../E/rand.txt:8 ../E/readln.txt:18 ../E/receive.txt:16 ../E/recycle.txt:12 ../E/research.txt:18 ../E/researched.txt:14 ../E/researches.txt:27 ../E/retobj.txt:13 ../E/return.txt:29 ../E/round.txt:12 ../E/search.txt:25 ../E/send.txt:17 ../E/shield.txt:18 ../E/sin.txt:11 ../E/sizeof.txt:21 ../E/sniff.txt:16 ../E/space.txt:22 ../E/sqrt.txt:11 ../E/static.txt:20 ../E/strfind.txt:18 ../E/string.txt:32 ../E/strleft.txt:14 ../E/strlen.txt:12 ../E/strlower.txt:10 ../E/strmid.txt:18 ../E/strright.txt:14 ../E/strupper.txt:10 ../E/strval.txt:17 ../E/synchro.txt:23 ../E/takeoff.txt:15 ../E/tan.txt:11 ../E/term.txt:30 ../E/testinfo.txt:16 ../E/this.txt:52 ../E/thump.txt:12 ../E/topo.txt:13 ../E/true.txt:4 ../E/trunc.txt:12 ../E/turn.txt:32 ../E/type.txt:32 ../E/var.txt:66 ../E/void.txt:10 ../E/wait.txt:21 ../E/while.txt:46 ../E/writeln.txt:19
+#: ../E/abstime.txt:10 ../E/acos.txt:11 ../E/aim.txt:23 ../E/array.txt:30 ../E/asin.txt:11 ../E/atan.txt:11 ../E/atan2.txt:16 ../E/bloc.txt:48 ../E/bool.txt:4 ../E/break.txt:24 ../E/build.txt:27 ../E/buildingenabled.txt:22 ../E/busy.txt:14 ../E/canbuild.txt:22 ../E/canresearch.txt:14 ../E/category.txt:107 ../E/ceil.txt:12 ../E/class.txt:70 ../E/close.txt:6 ../E/cond.txt:27 ../E/continue.txt:24 ../E/cos.txt:11 ../E/deletef.txt:9 ../E/delinfo.txt:13 ../E/destroy.txt:15 ../E/direct.txt:13 ../E/dist.txt:29 ../E/dist2d.txt:13 ../E/do.txt:27 ../E/drop.txt:28 ../E/eof.txt:13 ../E/errmode.txt:32 ../E/expr.txt:74 ../E/extern.txt:29 ../E/factory.txt:21 ../E/false.txt:4 ../E/file.txt:16 ../E/fire.txt:30 ../E/flatgrnd.txt:16 ../E/flatspace.txt:25 ../E/float.txt:24 ../E/floor.txt:12 ../E/for.txt:38 ../E/function.txt:129 ../E/goto.txt:34 ../E/grab.txt:28 ../E/if.txt:39 ../E/int.txt:18 ../E/jet.txt:14 ../E/message.txt:24 ../E/motor.txt:38 ../E/move.txt:21 ../E/nan.txt:14 ../E/new.txt:20 ../E/null.txt:4 ../E/object.txt:79 ../E/open.txt:18 ../E/openfile.txt:10 ../E/pencolor.txt:14 ../E/pendown.txt:17 ../E/penup.txt:11 ../E/penwidth.txt:14 ../E/point.txt:35 ../E/pointer.txt:51 ../E/pow.txt:14 ../E/private.txt:17 ../E/public.txt:49 ../E/radar.txt:80 ../E/rand.txt:8 ../E/readln.txt:18 ../E/receive.txt:16 ../E/recycle.txt:12 ../E/research.txt:18 ../E/researched.txt:14 ../E/researches.txt:27 ../E/retobj.txt:13 ../E/return.txt:29 ../E/round.txt:12 ../E/search.txt:25 ../E/send.txt:17 ../E/shield.txt:18 ../E/sin.txt:11 ../E/sizeof.txt:21 ../E/sniff.txt:16 ../E/space.txt:22 ../E/sqrt.txt:11 ../E/static.txt:20 ../E/strfind.txt:18 ../E/string.txt:32 ../E/strleft.txt:14 ../E/strlen.txt:12 ../E/strlower.txt:10 ../E/strmid.txt:18 ../E/strright.txt:14 ../E/strupper.txt:10 ../E/strval.txt:17 ../E/switch.txt:70 ../E/synchro.txt:23 ../E/takeoff.txt:15 ../E/tan.txt:11 ../E/term.txt:30 ../E/testinfo.txt:16 ../E/this.txt:52 ../E/thump.txt:12 ../E/topo.txt:13 ../E/true.txt:4 ../E/trunc.txt:12 ../E/turn.txt:32 ../E/type.txt:32 ../E/var.txt:66 ../E/void.txt:10 ../E/wait.txt:21 ../E/while.txt:46 ../E/writeln.txt:19
#, no-wrap
msgid "See also"
msgstr "Zobacz również"
#. type: Plain text
-#: ../E/abstime.txt:11 ../E/aim.txt:24 ../E/array.txt:31 ../E/bool.txt:5 ../E/break.txt:25 ../E/busy.txt:15 ../E/cond.txt:28 ../E/continue.txt:25 ../E/deletef.txt:10 ../E/destroy.txt:16 ../E/direct.txt:14 ../E/dist.txt:30 ../E/dist2d.txt:14 ../E/drop.txt:29 ../E/errmode.txt:33 ../E/expr.txt:75 ../E/extern.txt:30 ../E/false.txt:5 ../E/fire.txt:31 ../E/flatgrnd.txt:17 ../E/flatspace.txt:26 ../E/float.txt:25 ../E/for.txt:39 ../E/function.txt:130 ../E/goto.txt:35 ../E/grab.txt:29 ../E/if.txt:40 ../E/int.txt:19 ../E/jet.txt:15 ../E/message.txt:25 ../E/move.txt:22 ../E/nan.txt:15 ../E/object.txt:80 ../E/openfile.txt:11 ../E/pencolor.txt:15 ../E/pendown.txt:18 ../E/penup.txt:12 ../E/penwidth.txt:15 ../E/point.txt:36 ../E/radar.txt:81 ../E/recycle.txt:13 ../E/retobj.txt:14 ../E/return.txt:30 ../E/search.txt:26 ../E/shield.txt:19 ../E/sizeof.txt:22 ../E/sniff.txt:17 ../E/space.txt:23 ../E/string.txt:33 ../E/takeoff.txt:16 ../E/term.txt:31 ../E/thump.txt:13 ../E/topo.txt:14 ../E/true.txt:5 ../E/turn.txt:33 ../E/type.txt:33 ../E/var.txt:67 ../E/void.txt:11 ../E/wait.txt:22
+#: ../E/abstime.txt:11 ../E/aim.txt:24 ../E/array.txt:31 ../E/bool.txt:5 ../E/break.txt:25 ../E/busy.txt:15 ../E/cond.txt:28 ../E/continue.txt:25 ../E/deletef.txt:10 ../E/destroy.txt:16 ../E/direct.txt:14 ../E/dist.txt:30 ../E/dist2d.txt:14 ../E/drop.txt:29 ../E/errmode.txt:33 ../E/expr.txt:75 ../E/extern.txt:30 ../E/false.txt:5 ../E/fire.txt:31 ../E/flatgrnd.txt:17 ../E/flatspace.txt:26 ../E/float.txt:25 ../E/for.txt:39 ../E/function.txt:130 ../E/goto.txt:35 ../E/grab.txt:29 ../E/if.txt:40 ../E/int.txt:19 ../E/jet.txt:15 ../E/message.txt:25 ../E/move.txt:22 ../E/nan.txt:15 ../E/object.txt:80 ../E/openfile.txt:11 ../E/pencolor.txt:15 ../E/pendown.txt:18 ../E/penup.txt:12 ../E/penwidth.txt:15 ../E/point.txt:36 ../E/radar.txt:81 ../E/recycle.txt:13 ../E/retobj.txt:14 ../E/return.txt:30 ../E/search.txt:26 ../E/shield.txt:19 ../E/sizeof.txt:22 ../E/sniff.txt:17 ../E/space.txt:23 ../E/string.txt:33 ../E/switch.txt:71 ../E/takeoff.txt:16 ../E/term.txt:31 ../E/thump.txt:13 ../E/topo.txt:14 ../E/true.txt:5 ../E/turn.txt:33 ../E/type.txt:33 ../E/var.txt:67 ../E/void.txt:11 ../E/wait.txt:22
#, no-wrap
msgid "Programming, types and categories."
msgstr "Programowanie, typy i kategorie."
@@ -1093,7 +1093,7 @@ msgid "With the instruction distance( , )
you can calculate the dis
msgstr "Za pomocą instrukcji distance( , )
można obliczyć odległość między dwoma punktami."
#. type: \b; header
-#: ../E/build.txt:4 ../E/buildingenabled.txt:4 ../E/canbuild.txt:4 ../E/dist.txt:4 ../E/drop.txt:4 ../E/fire.txt:4 ../E/function.txt:16 ../E/goto.txt:4 ../E/grab.txt:4 ../E/if.txt:4 ../E/motor.txt:4 ../E/move.txt:4 ../E/radar.txt:4 ../E/turn.txt:4 ../E/wait.txt:4 ../E/while.txt:4
+#: ../E/build.txt:4 ../E/buildingenabled.txt:4 ../E/canbuild.txt:4 ../E/dist.txt:4 ../E/drop.txt:4 ../E/fire.txt:4 ../E/function.txt:16 ../E/goto.txt:4 ../E/grab.txt:4 ../E/if.txt:4 ../E/motor.txt:4 ../E/move.txt:4 ../E/radar.txt:4 ../E/switch.txt:4 ../E/turn.txt:4 ../E/wait.txt:4 ../E/while.txt:4
#, no-wrap
msgid "Basic use"
msgstr "Podstawowe użycie"
@@ -1137,13 +1137,13 @@ msgstr ""
"\tmove(distance(position, item.position) - 40);"
#. type: \b; header, \t; header
-#: ../E/build.txt:13 ../E/buildingenabled.txt:12 ../E/canbuild.txt:12 ../E/dist.txt:17 ../E/drop.txt:11 ../E/errmode.txt:4 ../E/file.txt:10 ../E/fire.txt:9 ../E/float.txt:19 ../E/goto.txt:11 ../E/grab.txt:11 ../E/if.txt:22 ../E/int.txt:13 ../E/motor.txt:14 ../E/move.txt:7 ../E/radar.txt:13 ../E/return.txt:9 ../E/turn.txt:18 ../E/wait.txt:9 ../E/while.txt:19
+#: ../E/build.txt:13 ../E/buildingenabled.txt:12 ../E/canbuild.txt:12 ../E/dist.txt:17 ../E/drop.txt:11 ../E/errmode.txt:4 ../E/file.txt:10 ../E/fire.txt:9 ../E/float.txt:19 ../E/goto.txt:11 ../E/grab.txt:11 ../E/if.txt:22 ../E/int.txt:13 ../E/motor.txt:14 ../E/move.txt:7 ../E/radar.txt:13 ../E/return.txt:9 ../E/switch.txt:46 ../E/turn.txt:18 ../E/wait.txt:9 ../E/while.txt:19
#, no-wrap
msgid "For specialists"
msgstr "Dla specjalistów"
#. type: Plain text
-#: ../E/acos.txt:2 ../E/aim.txt:2 ../E/asin.txt:2 ../E/atan.txt:2 ../E/atan2.txt:2 ../E/build.txt:14 ../E/buildingenabled.txt:13 ../E/busy.txt:2 ../E/canbuild.txt:13 ../E/canresearch.txt:2 ../E/ceil.txt:2 ../E/cos.txt:2 ../E/destroy.txt:2 ../E/dist.txt:18 ../E/dist2d.txt:2 ../E/do.txt:2 ../E/drop.txt:12 ../E/factory.txt:2 ../E/fire.txt:10 ../E/flatspace.txt:2 ../E/floor.txt:2 ../E/for.txt:2 ../E/goto.txt:12 ../E/grab.txt:12 ../E/if.txt:23 ../E/jet.txt:2 ../E/message.txt:2 ../E/move.txt:8 ../E/pencolor.txt:2 ../E/pendown.txt:2 ../E/penup.txt:2 ../E/penwidth.txt:2 ../E/pow.txt:2 ../E/radar.txt:14 ../E/rand.txt:2 ../E/receive.txt:2 ../E/recycle.txt:2 ../E/research.txt:2 ../E/researched.txt:2 ../E/retobj.txt:2 ../E/round.txt:2 ../E/search.txt:2 ../E/shield.txt:2 ../E/sin.txt:2 ../E/sniff.txt:2 ../E/space.txt:2 ../E/sqrt.txt:2 ../E/takeoff.txt:2 ../E/tan.txt:2 ../E/thump.txt:2 ../E/topo.txt:2 ../E/trunc.txt:2 ../E/turn.txt:19 ../E/wait.txt:10
+#: ../E/acos.txt:2 ../E/aim.txt:2 ../E/asin.txt:2 ../E/atan.txt:2 ../E/atan2.txt:2 ../E/build.txt:14 ../E/buildingenabled.txt:13 ../E/busy.txt:2 ../E/canbuild.txt:13 ../E/canresearch.txt:2 ../E/ceil.txt:2 ../E/cos.txt:2 ../E/destroy.txt:2 ../E/dist.txt:18 ../E/dist2d.txt:2 ../E/do.txt:2 ../E/drop.txt:12 ../E/factory.txt:2 ../E/fire.txt:10 ../E/flatspace.txt:2 ../E/floor.txt:2 ../E/for.txt:2 ../E/goto.txt:12 ../E/grab.txt:12 ../E/if.txt:23 ../E/jet.txt:2 ../E/message.txt:2 ../E/move.txt:8 ../E/pencolor.txt:2 ../E/pendown.txt:2 ../E/penup.txt:2 ../E/penwidth.txt:2 ../E/pow.txt:2 ../E/radar.txt:14 ../E/rand.txt:2 ../E/receive.txt:2 ../E/recycle.txt:2 ../E/research.txt:2 ../E/researched.txt:2 ../E/retobj.txt:2 ../E/round.txt:2 ../E/search.txt:2 ../E/shield.txt:2 ../E/sin.txt:2 ../E/sniff.txt:2 ../E/space.txt:2 ../E/sqrt.txt:2 ../E/switch.txt:47 ../E/takeoff.txt:2 ../E/tan.txt:2 ../E/thump.txt:2 ../E/topo.txt:2 ../E/trunc.txt:2 ../E/turn.txt:19 ../E/wait.txt:10
#, no-wrap
msgid "Syntax:"
msgstr "Składnia:"
@@ -1263,7 +1263,7 @@ msgstr ""
"while ( p == null );"
#. type: \t; header
-#: ../E/do.txt:22 ../E/float.txt:11 ../E/for.txt:33 ../E/if.txt:36 ../E/int.txt:10 ../E/while.txt:41
+#: ../E/do.txt:22 ../E/float.txt:11 ../E/for.txt:33 ../E/if.txt:36 ../E/int.txt:10 ../E/switch.txt:67 ../E/while.txt:41
#, no-wrap
msgid "Attention"
msgstr "Uwaga"
@@ -7676,6 +7676,167 @@ msgstr ""
msgid "Filters and IDs can be mixed using bitwise OR operator |
, for example radar(Any, 0, 360, 0, 1000, 1, 2 | FilterOnlyLanding); will only detect an object from team 2
that is on the ground. Attention: you can specify only one team ID at once, but you can specify several filters at once."
msgstr ""
+#. type: \b; header
+#: ../E/switch.txt:1
+#, no-wrap
+msgid "Instructions switch
, case
and default
"
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:2
+#, no-wrap
+msgid "With the instruction switch() {}
you can execute a proper set of instructions (a case) basing on some value."
+msgstr ""
+
+#. type: Source code
+#: ../E/switch.txt:9
+#, no-wrap
+msgid ""
+"public void WaitForTaskCompleted(object building)\n"
+"{\n"
+"\tint cat = building.category;\n"
+"\tif (cat == Converter) wait(15);\n"
+"\telse if (cat == BotFactory) wait(15);\n"
+"\telse if (cat == PowerPlant) wait(12);\n"
+"\telse message(\"Undefined wait time\", DisplayError);\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:18
+#, no-wrap
+msgid "This function can be also written using the switch() {}
instruction:"
+msgstr ""
+
+#. type: Source code
+#: ../E/switch.txt:20
+#, no-wrap
+msgid ""
+"public void WaitForTaskCompleted(object building)\n"
+"{\n"
+"\tswitch (building.category)\n"
+"\t{\n"
+"\t\tcase Converter: wait(15); break;\n"
+"\t\tcase BotFactory: wait(15); break;\n"
+"\t\tcase PowerPlant: wait(12); break;\n"
+"\t\tdefault: message(\"Undefined wait time\", DisplayError);\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:31
+#, no-wrap
+msgid "Which way to write this kind of choice structures, is a matter of taste."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:33
+#, no-wrap
+msgid "You can also make cases like this:"
+msgstr ""
+
+#. type: Source code
+#: ../E/switch.txt:35
+#, no-wrap
+msgid ""
+"switch (building.category)\n"
+"{\n"
+"\tcase Converter:\n"
+"\tcase BotFactory:\n"
+"\t\twait(15); break;\n"
+"\tcase PowerPlant: wait(12); break;\n"
+"\tdefault: message(\"Undefined wait time\", DisplayError);\n"
+"}"
+msgstr ""
+
+#. type: Source code
+#: ../E/switch.txt:48
+#, no-wrap
+msgid ""
+"switch ( value )\n"
+"{\n"
+"\tcase value1: instructions1\n"
+"\tcase value2: instructions2\n"
+"\t...\n"
+"\tcase valueN: instructionsN\n"
+"\tdefault: instructionsDefault\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:5
+#, no-wrap
+msgid "Note: the busy instruction might be much better to use in this scenario."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:7
+#, no-wrap
+msgid "See the following function: the bot will be waiting a proper amount of time for a certain task to be completed:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:44
+#, no-wrap
+msgid "Converter and bot factory have the same waiting time, so in order to not write the same instructions twice, we made multiple cases run the same code. In fact, all code after the highest case used will be executed if we do not break
it."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:57
+#, no-wrap
+msgid "With this conditional structure you can execute instructions1
or instructions2
... or instructionsN
or instructionsDefault
depending on the value
."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:59
+#, no-wrap
+msgid ""
+"If the value
is equal to value1
, instructions1
to N
(including instructionsDefault
) are executed.\n"
+"If the value
is equal to value2
, instructions2
to N
(including instructionsDefault
) are executed.\n"
+"And so on.\n"
+"If the value
is equal to valueN
, instructionsN
and instructionsDefault
are executed.\n"
+"If the value
is not equal to any value in the given cases, instructionsDefault
are executed."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:68
+#, no-wrap
+msgid "Do not put a semicolon at the end of the switch ( ) { }
instruction."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:65
+#, no-wrap
+msgid "You can exit from the the switch() {}
instruction using break
."
+msgstr ""
+
+#~ msgid "You can stop the the switch() {}
instruction using break
."
+#~ msgstr ""
+
+#~ msgid "Converter and bot factory have the same waiting time, so in order to not write the same instructions twice, we made multiple cases run the same code. In fact, all code after the highest case used will be executed if we do not break it."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "With this conditional structure you can execute instructions1
or instructions2
... or instructionsN
or instructionsDefault
depending on the value
.\n"
+#~ "If the value
is equal to value1
, instructions1
to N
(including instructionsDefault
) are executed.\n"
+#~ "If the value
is equal to value2
, instructions2
to N
(including instructionsDefault
) are executed.\n"
+#~ "And so on.\n"
+#~ "If the value
is equal to valueN
, instructionsN
and instructionsDefault
are executed.\n"
+#~ "If the value
is not equal to any value in the given cases, instructionsDefault
are executed."
+#~ msgstr ""
+
+#~ msgid "You can stop the the switch() {}
instruction using break."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Note: the busy instruction might be much better to use in this scenario.\n"
+#~ "See the following function: the bot will be waiting a proper amount of time for a certain task to be completed:"
+#~ msgstr ""
+
+#~ msgid "With this conditional structure you can execute instruction1 or instructions2 ... or instructionsN or instructionsDefault depending on the value
. If the value
is equal to value1
, instructions1
to N
(including instructionsDefault
) are executed. If the value
is equal to value2
, instructions2
to N
(including instructionsDefault
) are executed. And so on. If the value
is equal to valueN
, instructionsN
and instructionsDefault
are executed. If the value
is not equal to any value in the given cases, instructionsDefault
are executed."
+#~ msgstr ""
+
#~ msgid "The last three are mainly useful in code battles. You can also pass a team ID to search only for objects from a specific team."
#~ msgstr ""
diff --git a/help/cbot/po/ru.po b/help/cbot/po/ru.po
index d6a76502..a6e1dc6a 100644
--- a/help/cbot/po/ru.po
+++ b/help/cbot/po/ru.po
@@ -53,13 +53,13 @@ msgid "Time in seconds."
msgstr ""
#. type: \t; header
-#: ../E/abstime.txt:10 ../E/acos.txt:11 ../E/aim.txt:23 ../E/array.txt:30 ../E/asin.txt:11 ../E/atan.txt:11 ../E/atan2.txt:16 ../E/bloc.txt:48 ../E/bool.txt:4 ../E/break.txt:24 ../E/build.txt:27 ../E/buildingenabled.txt:22 ../E/busy.txt:14 ../E/canbuild.txt:22 ../E/canresearch.txt:14 ../E/category.txt:107 ../E/ceil.txt:12 ../E/class.txt:70 ../E/close.txt:6 ../E/cond.txt:27 ../E/continue.txt:24 ../E/cos.txt:11 ../E/deletef.txt:9 ../E/delinfo.txt:13 ../E/destroy.txt:15 ../E/direct.txt:13 ../E/dist.txt:29 ../E/dist2d.txt:13 ../E/do.txt:27 ../E/drop.txt:28 ../E/eof.txt:13 ../E/errmode.txt:32 ../E/expr.txt:74 ../E/extern.txt:29 ../E/factory.txt:21 ../E/false.txt:4 ../E/file.txt:16 ../E/fire.txt:30 ../E/flatgrnd.txt:16 ../E/flatspace.txt:25 ../E/float.txt:24 ../E/floor.txt:12 ../E/for.txt:38 ../E/function.txt:129 ../E/goto.txt:34 ../E/grab.txt:28 ../E/if.txt:39 ../E/int.txt:18 ../E/jet.txt:14 ../E/message.txt:24 ../E/motor.txt:38 ../E/move.txt:21 ../E/nan.txt:14 ../E/new.txt:20 ../E/null.txt:4 ../E/object.txt:79 ../E/open.txt:18 ../E/openfile.txt:10 ../E/pencolor.txt:14 ../E/pendown.txt:17 ../E/penup.txt:11 ../E/penwidth.txt:14 ../E/point.txt:35 ../E/pointer.txt:51 ../E/pow.txt:14 ../E/private.txt:17 ../E/public.txt:49 ../E/radar.txt:80 ../E/rand.txt:8 ../E/readln.txt:18 ../E/receive.txt:16 ../E/recycle.txt:12 ../E/research.txt:18 ../E/researched.txt:14 ../E/researches.txt:27 ../E/retobj.txt:13 ../E/return.txt:29 ../E/round.txt:12 ../E/search.txt:25 ../E/send.txt:17 ../E/shield.txt:18 ../E/sin.txt:11 ../E/sizeof.txt:21 ../E/sniff.txt:16 ../E/space.txt:22 ../E/sqrt.txt:11 ../E/static.txt:20 ../E/strfind.txt:18 ../E/string.txt:32 ../E/strleft.txt:14 ../E/strlen.txt:12 ../E/strlower.txt:10 ../E/strmid.txt:18 ../E/strright.txt:14 ../E/strupper.txt:10 ../E/strval.txt:17 ../E/synchro.txt:23 ../E/takeoff.txt:15 ../E/tan.txt:11 ../E/term.txt:30 ../E/testinfo.txt:16 ../E/this.txt:52 ../E/thump.txt:12 ../E/topo.txt:13 ../E/true.txt:4 ../E/trunc.txt:12 ../E/turn.txt:32 ../E/type.txt:32 ../E/var.txt:66 ../E/void.txt:10 ../E/wait.txt:21 ../E/while.txt:46 ../E/writeln.txt:19
+#: ../E/abstime.txt:10 ../E/acos.txt:11 ../E/aim.txt:23 ../E/array.txt:30 ../E/asin.txt:11 ../E/atan.txt:11 ../E/atan2.txt:16 ../E/bloc.txt:48 ../E/bool.txt:4 ../E/break.txt:24 ../E/build.txt:27 ../E/buildingenabled.txt:22 ../E/busy.txt:14 ../E/canbuild.txt:22 ../E/canresearch.txt:14 ../E/category.txt:107 ../E/ceil.txt:12 ../E/class.txt:70 ../E/close.txt:6 ../E/cond.txt:27 ../E/continue.txt:24 ../E/cos.txt:11 ../E/deletef.txt:9 ../E/delinfo.txt:13 ../E/destroy.txt:15 ../E/direct.txt:13 ../E/dist.txt:29 ../E/dist2d.txt:13 ../E/do.txt:27 ../E/drop.txt:28 ../E/eof.txt:13 ../E/errmode.txt:32 ../E/expr.txt:74 ../E/extern.txt:29 ../E/factory.txt:21 ../E/false.txt:4 ../E/file.txt:16 ../E/fire.txt:30 ../E/flatgrnd.txt:16 ../E/flatspace.txt:25 ../E/float.txt:24 ../E/floor.txt:12 ../E/for.txt:38 ../E/function.txt:129 ../E/goto.txt:34 ../E/grab.txt:28 ../E/if.txt:39 ../E/int.txt:18 ../E/jet.txt:14 ../E/message.txt:24 ../E/motor.txt:38 ../E/move.txt:21 ../E/nan.txt:14 ../E/new.txt:20 ../E/null.txt:4 ../E/object.txt:79 ../E/open.txt:18 ../E/openfile.txt:10 ../E/pencolor.txt:14 ../E/pendown.txt:17 ../E/penup.txt:11 ../E/penwidth.txt:14 ../E/point.txt:35 ../E/pointer.txt:51 ../E/pow.txt:14 ../E/private.txt:17 ../E/public.txt:49 ../E/radar.txt:80 ../E/rand.txt:8 ../E/readln.txt:18 ../E/receive.txt:16 ../E/recycle.txt:12 ../E/research.txt:18 ../E/researched.txt:14 ../E/researches.txt:27 ../E/retobj.txt:13 ../E/return.txt:29 ../E/round.txt:12 ../E/search.txt:25 ../E/send.txt:17 ../E/shield.txt:18 ../E/sin.txt:11 ../E/sizeof.txt:21 ../E/sniff.txt:16 ../E/space.txt:22 ../E/sqrt.txt:11 ../E/static.txt:20 ../E/strfind.txt:18 ../E/string.txt:32 ../E/strleft.txt:14 ../E/strlen.txt:12 ../E/strlower.txt:10 ../E/strmid.txt:18 ../E/strright.txt:14 ../E/strupper.txt:10 ../E/strval.txt:17 ../E/switch.txt:70 ../E/synchro.txt:23 ../E/takeoff.txt:15 ../E/tan.txt:11 ../E/term.txt:30 ../E/testinfo.txt:16 ../E/this.txt:52 ../E/thump.txt:12 ../E/topo.txt:13 ../E/true.txt:4 ../E/trunc.txt:12 ../E/turn.txt:32 ../E/type.txt:32 ../E/var.txt:66 ../E/void.txt:10 ../E/wait.txt:21 ../E/while.txt:46 ../E/writeln.txt:19
#, no-wrap
msgid "See also"
msgstr "См. также"
#. type: Plain text
-#: ../E/abstime.txt:11 ../E/aim.txt:24 ../E/array.txt:31 ../E/bool.txt:5 ../E/break.txt:25 ../E/busy.txt:15 ../E/cond.txt:28 ../E/continue.txt:25 ../E/deletef.txt:10 ../E/destroy.txt:16 ../E/direct.txt:14 ../E/dist.txt:30 ../E/dist2d.txt:14 ../E/drop.txt:29 ../E/errmode.txt:33 ../E/expr.txt:75 ../E/extern.txt:30 ../E/false.txt:5 ../E/fire.txt:31 ../E/flatgrnd.txt:17 ../E/flatspace.txt:26 ../E/float.txt:25 ../E/for.txt:39 ../E/function.txt:130 ../E/goto.txt:35 ../E/grab.txt:29 ../E/if.txt:40 ../E/int.txt:19 ../E/jet.txt:15 ../E/message.txt:25 ../E/move.txt:22 ../E/nan.txt:15 ../E/object.txt:80 ../E/openfile.txt:11 ../E/pencolor.txt:15 ../E/pendown.txt:18 ../E/penup.txt:12 ../E/penwidth.txt:15 ../E/point.txt:36 ../E/radar.txt:81 ../E/recycle.txt:13 ../E/retobj.txt:14 ../E/return.txt:30 ../E/search.txt:26 ../E/shield.txt:19 ../E/sizeof.txt:22 ../E/sniff.txt:17 ../E/space.txt:23 ../E/string.txt:33 ../E/takeoff.txt:16 ../E/term.txt:31 ../E/thump.txt:13 ../E/topo.txt:14 ../E/true.txt:5 ../E/turn.txt:33 ../E/type.txt:33 ../E/var.txt:67 ../E/void.txt:11 ../E/wait.txt:22
+#: ../E/abstime.txt:11 ../E/aim.txt:24 ../E/array.txt:31 ../E/bool.txt:5 ../E/break.txt:25 ../E/busy.txt:15 ../E/cond.txt:28 ../E/continue.txt:25 ../E/deletef.txt:10 ../E/destroy.txt:16 ../E/direct.txt:14 ../E/dist.txt:30 ../E/dist2d.txt:14 ../E/drop.txt:29 ../E/errmode.txt:33 ../E/expr.txt:75 ../E/extern.txt:30 ../E/false.txt:5 ../E/fire.txt:31 ../E/flatgrnd.txt:17 ../E/flatspace.txt:26 ../E/float.txt:25 ../E/for.txt:39 ../E/function.txt:130 ../E/goto.txt:35 ../E/grab.txt:29 ../E/if.txt:40 ../E/int.txt:19 ../E/jet.txt:15 ../E/message.txt:25 ../E/move.txt:22 ../E/nan.txt:15 ../E/object.txt:80 ../E/openfile.txt:11 ../E/pencolor.txt:15 ../E/pendown.txt:18 ../E/penup.txt:12 ../E/penwidth.txt:15 ../E/point.txt:36 ../E/radar.txt:81 ../E/recycle.txt:13 ../E/retobj.txt:14 ../E/return.txt:30 ../E/search.txt:26 ../E/shield.txt:19 ../E/sizeof.txt:22 ../E/sniff.txt:17 ../E/space.txt:23 ../E/string.txt:33 ../E/switch.txt:71 ../E/takeoff.txt:16 ../E/term.txt:31 ../E/thump.txt:13 ../E/topo.txt:14 ../E/true.txt:5 ../E/turn.txt:33 ../E/type.txt:33 ../E/var.txt:67 ../E/void.txt:11 ../E/wait.txt:22
#, no-wrap
msgid "Programming, types and categories."
msgstr "Программирование, типы и категории."
@@ -1092,7 +1092,7 @@ msgid "With the instruction distance( , )
you can calculate the dis
msgstr "С помощью инструкции distance( , )
вы можете подсчитывать расстояние между двумя позициями."
#. type: \b; header
-#: ../E/build.txt:4 ../E/buildingenabled.txt:4 ../E/canbuild.txt:4 ../E/dist.txt:4 ../E/drop.txt:4 ../E/fire.txt:4 ../E/function.txt:16 ../E/goto.txt:4 ../E/grab.txt:4 ../E/if.txt:4 ../E/motor.txt:4 ../E/move.txt:4 ../E/radar.txt:4 ../E/turn.txt:4 ../E/wait.txt:4 ../E/while.txt:4
+#: ../E/build.txt:4 ../E/buildingenabled.txt:4 ../E/canbuild.txt:4 ../E/dist.txt:4 ../E/drop.txt:4 ../E/fire.txt:4 ../E/function.txt:16 ../E/goto.txt:4 ../E/grab.txt:4 ../E/if.txt:4 ../E/motor.txt:4 ../E/move.txt:4 ../E/radar.txt:4 ../E/switch.txt:4 ../E/turn.txt:4 ../E/wait.txt:4 ../E/while.txt:4
#, no-wrap
msgid "Basic use"
msgstr "Основное использование"
@@ -1136,13 +1136,13 @@ msgstr ""
"\tmove(distance(position, item.position) - 40);"
#. type: \b; header, \t; header
-#: ../E/build.txt:13 ../E/buildingenabled.txt:12 ../E/canbuild.txt:12 ../E/dist.txt:17 ../E/drop.txt:11 ../E/errmode.txt:4 ../E/file.txt:10 ../E/fire.txt:9 ../E/float.txt:19 ../E/goto.txt:11 ../E/grab.txt:11 ../E/if.txt:22 ../E/int.txt:13 ../E/motor.txt:14 ../E/move.txt:7 ../E/radar.txt:13 ../E/return.txt:9 ../E/turn.txt:18 ../E/wait.txt:9 ../E/while.txt:19
+#: ../E/build.txt:13 ../E/buildingenabled.txt:12 ../E/canbuild.txt:12 ../E/dist.txt:17 ../E/drop.txt:11 ../E/errmode.txt:4 ../E/file.txt:10 ../E/fire.txt:9 ../E/float.txt:19 ../E/goto.txt:11 ../E/grab.txt:11 ../E/if.txt:22 ../E/int.txt:13 ../E/motor.txt:14 ../E/move.txt:7 ../E/radar.txt:13 ../E/return.txt:9 ../E/switch.txt:46 ../E/turn.txt:18 ../E/wait.txt:9 ../E/while.txt:19
#, no-wrap
msgid "For specialists"
msgstr "Для специалистов"
#. type: Plain text
-#: ../E/acos.txt:2 ../E/aim.txt:2 ../E/asin.txt:2 ../E/atan.txt:2 ../E/atan2.txt:2 ../E/build.txt:14 ../E/buildingenabled.txt:13 ../E/busy.txt:2 ../E/canbuild.txt:13 ../E/canresearch.txt:2 ../E/ceil.txt:2 ../E/cos.txt:2 ../E/destroy.txt:2 ../E/dist.txt:18 ../E/dist2d.txt:2 ../E/do.txt:2 ../E/drop.txt:12 ../E/factory.txt:2 ../E/fire.txt:10 ../E/flatspace.txt:2 ../E/floor.txt:2 ../E/for.txt:2 ../E/goto.txt:12 ../E/grab.txt:12 ../E/if.txt:23 ../E/jet.txt:2 ../E/message.txt:2 ../E/move.txt:8 ../E/pencolor.txt:2 ../E/pendown.txt:2 ../E/penup.txt:2 ../E/penwidth.txt:2 ../E/pow.txt:2 ../E/radar.txt:14 ../E/rand.txt:2 ../E/receive.txt:2 ../E/recycle.txt:2 ../E/research.txt:2 ../E/researched.txt:2 ../E/retobj.txt:2 ../E/round.txt:2 ../E/search.txt:2 ../E/shield.txt:2 ../E/sin.txt:2 ../E/sniff.txt:2 ../E/space.txt:2 ../E/sqrt.txt:2 ../E/takeoff.txt:2 ../E/tan.txt:2 ../E/thump.txt:2 ../E/topo.txt:2 ../E/trunc.txt:2 ../E/turn.txt:19 ../E/wait.txt:10
+#: ../E/acos.txt:2 ../E/aim.txt:2 ../E/asin.txt:2 ../E/atan.txt:2 ../E/atan2.txt:2 ../E/build.txt:14 ../E/buildingenabled.txt:13 ../E/busy.txt:2 ../E/canbuild.txt:13 ../E/canresearch.txt:2 ../E/ceil.txt:2 ../E/cos.txt:2 ../E/destroy.txt:2 ../E/dist.txt:18 ../E/dist2d.txt:2 ../E/do.txt:2 ../E/drop.txt:12 ../E/factory.txt:2 ../E/fire.txt:10 ../E/flatspace.txt:2 ../E/floor.txt:2 ../E/for.txt:2 ../E/goto.txt:12 ../E/grab.txt:12 ../E/if.txt:23 ../E/jet.txt:2 ../E/message.txt:2 ../E/move.txt:8 ../E/pencolor.txt:2 ../E/pendown.txt:2 ../E/penup.txt:2 ../E/penwidth.txt:2 ../E/pow.txt:2 ../E/radar.txt:14 ../E/rand.txt:2 ../E/receive.txt:2 ../E/recycle.txt:2 ../E/research.txt:2 ../E/researched.txt:2 ../E/retobj.txt:2 ../E/round.txt:2 ../E/search.txt:2 ../E/shield.txt:2 ../E/sin.txt:2 ../E/sniff.txt:2 ../E/space.txt:2 ../E/sqrt.txt:2 ../E/switch.txt:47 ../E/takeoff.txt:2 ../E/tan.txt:2 ../E/thump.txt:2 ../E/topo.txt:2 ../E/trunc.txt:2 ../E/turn.txt:19 ../E/wait.txt:10
#, no-wrap
msgid "Syntax:"
msgstr "Синтаксис:"
@@ -1262,7 +1262,7 @@ msgstr ""
"while ( p == null );"
#. type: \t; header
-#: ../E/do.txt:22 ../E/float.txt:11 ../E/for.txt:33 ../E/if.txt:36 ../E/int.txt:10 ../E/while.txt:41
+#: ../E/do.txt:22 ../E/float.txt:11 ../E/for.txt:33 ../E/if.txt:36 ../E/int.txt:10 ../E/switch.txt:67 ../E/while.txt:41
#, no-wrap
msgid "Attention"
msgstr "Внимание"
@@ -7636,6 +7636,167 @@ msgstr ""
msgid "Filters and IDs can be mixed using bitwise OR operator |
, for example radar(Any, 0, 360, 0, 1000, 1, 2 | FilterOnlyLanding); will only detect an object from team 2
that is on the ground. Attention: you can specify only one team ID at once, but you can specify several filters at once."
msgstr ""
+#. type: \b; header
+#: ../E/switch.txt:1
+#, no-wrap
+msgid "Instructions switch
, case
and default
"
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:2
+#, no-wrap
+msgid "With the instruction switch() {}
you can execute a proper set of instructions (a case) basing on some value."
+msgstr ""
+
+#. type: Source code
+#: ../E/switch.txt:9
+#, no-wrap
+msgid ""
+"public void WaitForTaskCompleted(object building)\n"
+"{\n"
+"\tint cat = building.category;\n"
+"\tif (cat == Converter) wait(15);\n"
+"\telse if (cat == BotFactory) wait(15);\n"
+"\telse if (cat == PowerPlant) wait(12);\n"
+"\telse message(\"Undefined wait time\", DisplayError);\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:18
+#, no-wrap
+msgid "This function can be also written using the switch() {}
instruction:"
+msgstr ""
+
+#. type: Source code
+#: ../E/switch.txt:20
+#, no-wrap
+msgid ""
+"public void WaitForTaskCompleted(object building)\n"
+"{\n"
+"\tswitch (building.category)\n"
+"\t{\n"
+"\t\tcase Converter: wait(15); break;\n"
+"\t\tcase BotFactory: wait(15); break;\n"
+"\t\tcase PowerPlant: wait(12); break;\n"
+"\t\tdefault: message(\"Undefined wait time\", DisplayError);\n"
+"\t}\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:31
+#, no-wrap
+msgid "Which way to write this kind of choice structures, is a matter of taste."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:33
+#, no-wrap
+msgid "You can also make cases like this:"
+msgstr ""
+
+#. type: Source code
+#: ../E/switch.txt:35
+#, no-wrap
+msgid ""
+"switch (building.category)\n"
+"{\n"
+"\tcase Converter:\n"
+"\tcase BotFactory:\n"
+"\t\twait(15); break;\n"
+"\tcase PowerPlant: wait(12); break;\n"
+"\tdefault: message(\"Undefined wait time\", DisplayError);\n"
+"}"
+msgstr ""
+
+#. type: Source code
+#: ../E/switch.txt:48
+#, no-wrap
+msgid ""
+"switch ( value )\n"
+"{\n"
+"\tcase value1: instructions1\n"
+"\tcase value2: instructions2\n"
+"\t...\n"
+"\tcase valueN: instructionsN\n"
+"\tdefault: instructionsDefault\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:5
+#, no-wrap
+msgid "Note: the busy instruction might be much better to use in this scenario."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:7
+#, no-wrap
+msgid "See the following function: the bot will be waiting a proper amount of time for a certain task to be completed:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:44
+#, no-wrap
+msgid "Converter and bot factory have the same waiting time, so in order to not write the same instructions twice, we made multiple cases run the same code. In fact, all code after the highest case used will be executed if we do not break
it."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:57
+#, no-wrap
+msgid "With this conditional structure you can execute instructions1
or instructions2
... or instructionsN
or instructionsDefault
depending on the value
."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:59
+#, no-wrap
+msgid ""
+"If the value
is equal to value1
, instructions1
to N
(including instructionsDefault
) are executed.\n"
+"If the value
is equal to value2
, instructions2
to N
(including instructionsDefault
) are executed.\n"
+"And so on.\n"
+"If the value
is equal to valueN
, instructionsN
and instructionsDefault
are executed.\n"
+"If the value
is not equal to any value in the given cases, instructionsDefault
are executed."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:68
+#, no-wrap
+msgid "Do not put a semicolon at the end of the switch ( ) { }
instruction."
+msgstr ""
+
+#. type: Plain text
+#: ../E/switch.txt:65
+#, no-wrap
+msgid "You can exit from the the switch() {}
instruction using break
."
+msgstr ""
+
+#~ msgid "You can stop the the switch() {}
instruction using break
."
+#~ msgstr ""
+
+#~ msgid "Converter and bot factory have the same waiting time, so in order to not write the same instructions twice, we made multiple cases run the same code. In fact, all code after the highest case used will be executed if we do not break it."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "With this conditional structure you can execute instructions1
or instructions2
... or instructionsN
or instructionsDefault
depending on the value
.\n"
+#~ "If the value
is equal to value1
, instructions1
to N
(including instructionsDefault
) are executed.\n"
+#~ "If the value
is equal to value2
, instructions2
to N
(including instructionsDefault
) are executed.\n"
+#~ "And so on.\n"
+#~ "If the value
is equal to valueN
, instructionsN
and instructionsDefault
are executed.\n"
+#~ "If the value
is not equal to any value in the given cases, instructionsDefault
are executed."
+#~ msgstr ""
+
+#~ msgid "You can stop the the switch() {}
instruction using break."
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Note: the busy instruction might be much better to use in this scenario.\n"
+#~ "See the following function: the bot will be waiting a proper amount of time for a certain task to be completed:"
+#~ msgstr ""
+
+#~ msgid "With this conditional structure you can execute instruction1 or instructions2 ... or instructionsN or instructionsDefault depending on the value
. If the value
is equal to value1
, instructions1
to N
(including instructionsDefault
) are executed. If the value
is equal to value2
, instructions2
to N
(including instructionsDefault
) are executed. And so on. If the value
is equal to valueN
, instructionsN
and instructionsDefault
are executed. If the value
is not equal to any value in the given cases, instructionsDefault
are executed."
+#~ msgstr ""
+
#~ msgid "The last three are mainly useful in code battles. You can also pass a team ID to search only for objects from a specific team."
#~ msgstr ""
diff --git a/help/generic/E/cbot.txt b/help/generic/E/cbot.txt
index beb2f6da..ddd2b251 100644
--- a/help/generic/E/cbot.txt
+++ b/help/generic/E/cbot.txt
@@ -15,6 +15,9 @@ Constants like \l;categories\u cbot\category; are displayed with a red backgroun
\c;\l;extern\u cbot\extern; \n;Indicate the main function
\c;\l;if\u cbot\if; \n;Choice structure
\c;\l;else\u cbot\if; \n;Alternative choice structure
+\c;\l;switch\u cbot\switch; \n;Multiple choice structure
+\c;\l;case\u cbot\switch; \n;One choice
+\c;\l;default\u cbot\switch; \n;Default choice
\c;\l;for\u cbot\for; \n;Loop structure
\c;\l;while\u cbot\while; \n;Control structure
\c;\l;do\u cbot\do; \n;Control structure
diff --git a/help/generic/po/de.po b/help/generic/po/de.po
index 15dc6abb..47ca74bb 100644
--- a/help/generic/po/de.po
+++ b/help/generic/po/de.po
@@ -104,58 +104,32 @@ msgstr "Konstanten werden wie Kategorien immer mit rotem Hi
msgid "Instructions in the CBOT language:"
msgstr "Befehle der CBOT-Sprache:"
-#. type: Plain text
-#: ../E/cbot.txt:15
-#, no-wrap
-msgid ""
-"extern
Indicate the main function\n"
-"if
Choice structure\n"
-"else
Alternative choice structure\n"
-"for
Loop structure\n"
-"while
Control structure\n"
-"do
Control structure\n"
-"break
Exit from a loop\n"
-"continue
Continues the loop\n"
-"return
Exit from a function\n"
-"sizeof
Size of an array"
-msgstr ""
-"extern
Bezeichnet die Hauptfunktion\n"
-"if
Bedingte Struktur\n"
-"else
Alternative bedingte Struktur\n"
-"for
Schleifenstruktur\n"
-"while
Bedingte Schleifenstruktur\n"
-"do
Bedingte Schleifenstruktur\n"
-"break
Abbruch einer Schleife\n"
-"continue
Neuanfang einer Schleife\n"
-"return
Rückkehr von einer Funktion\n"
-"sizeof
Grösse eines Arrays"
-
#. type: \t; header
-#: ../E/cbot.txt:26
+#: ../E/cbot.txt:29
#, no-wrap
msgid "Specific instructions for bots:"
msgstr "Befehle für die Steuerung der Roboter:"
#. type: \t; header
-#: ../E/cbot.txt:49
+#: ../E/cbot.txt:52
#, no-wrap
msgid "Instructions about topology:"
msgstr "Befehle für die Erforschung des Geländes:"
#. type: \t; header
-#: ../E/cbot.txt:55
+#: ../E/cbot.txt:58
#, no-wrap
msgid "Instructions specific to some bots:"
msgstr "Befehle für bestimmte Roboter:"
#. type: \t; header
-#: ../E/cbot.txt:74
+#: ../E/cbot.txt:77
#, no-wrap
msgid "Specific instructions for exchange posts:"
msgstr "Befehle für den Austausch mit Infoservern:"
#. type: Plain text
-#: ../E/cbot.txt:75
+#: ../E/cbot.txt:78
#, no-wrap
msgid ""
"receive
Receives an information\n"
@@ -169,13 +143,13 @@ msgstr ""
"deleteinfo
Löscht eine Information"
#. type: \t; header
-#: ../E/cbot.txt:80
+#: ../E/cbot.txt:83
#, no-wrap
msgid "Specific instructions for classes:"
msgstr "Befehle für die Verwaltung von Klassen:"
#. type: Plain text
-#: ../E/cbot.txt:81
+#: ../E/cbot.txt:84
#, no-wrap
msgid ""
"class
Class declararion\n"
@@ -195,13 +169,13 @@ msgstr ""
"this
Bezieht sich auf die laufende Instanz"
#. type: \t; header
-#: ../E/cbot.txt:89
+#: ../E/cbot.txt:92
#, no-wrap
msgid "Specific instructions for strings:"
msgstr "Befehle für die Verarbeitung von Strings (Zeichenketten):"
#. type: Plain text
-#: ../E/cbot.txt:90
+#: ../E/cbot.txt:93
#, no-wrap
msgid ""
"strlen
Gets string length\n"
@@ -223,13 +197,13 @@ msgstr ""
"strlower
Umwandlung in Kleinbuchstaben"
#. type: \t; header
-#: ../E/cbot.txt:99
+#: ../E/cbot.txt:102
#, no-wrap
msgid "Specific instructions for files:"
msgstr "Befehle für die Dateiverwaltung:"
#. type: Plain text
-#: ../E/cbot.txt:100
+#: ../E/cbot.txt:103
#, no-wrap
msgid ""
"open
Opens a file\n"
@@ -247,13 +221,13 @@ msgstr ""
"deletefile
Löscht eine Datei"
#. type: \t; header
-#: ../E/battles.txt:40 ../E/cbot.txt:123 ../E/freehelp.txt:4
+#: ../E/battles.txt:40 ../E/cbot.txt:126 ../E/freehelp.txt:4
#, no-wrap
msgid "See also"
msgstr "Siehe auch"
#. type: Plain text
-#: ../E/cbot.txt:124
+#: ../E/cbot.txt:127
#, no-wrap
msgid "Types and categories."
msgstr "Variablentypen und Kategorien."
@@ -545,13 +519,13 @@ msgid "Colobot: Gold Edition developers"
msgstr "Die Colobot: Gold Edition Entwickler"
#. type: \t; header
-#: ../E/cbot.txt:107
+#: ../E/cbot.txt:110
#, no-wrap
msgid "Mathematical functions:"
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:56
+#: ../E/cbot.txt:59
#, no-wrap
msgid ""
"grab
Picks up an object\n"
@@ -568,7 +542,7 @@ msgid ""
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:108
+#: ../E/cbot.txt:111
#, no-wrap
msgid ""
"rand
Returns a random value\n"
@@ -588,13 +562,13 @@ msgid ""
msgstr ""
#. type: \t; header
-#: ../E/cbot.txt:68
+#: ../E/cbot.txt:71
#, no-wrap
msgid "Instructions specific for some objects:"
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:69
+#: ../E/cbot.txt:72
#, no-wrap
msgid ""
"factory
Starts construction of a bot\n"
@@ -604,7 +578,7 @@ msgid ""
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:50
+#: ../E/cbot.txt:53
#, no-wrap
msgid ""
"space
Calculates a free space\n"
@@ -614,7 +588,7 @@ msgid ""
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:27
+#: ../E/cbot.txt:30
#, no-wrap
msgid ""
"radar
Object detection\n"
@@ -769,6 +743,80 @@ msgstr ""
msgid "There is much more options, but this is the basis. Read documentation, play the game and think creatively to come up with new ideas. Good luck and have fun!"
msgstr ""
+#. type: Plain text
+#: ../E/cbot.txt:15
+#, no-wrap
+msgid ""
+"extern
Indicate the main function\n"
+"if
Choice structure\n"
+"else
Alternative choice structure\n"
+"switch
Multiple choice structure\n"
+"case
One choice\n"
+"default
Default choice\n"
+"for
Loop structure\n"
+"while
Control structure\n"
+"do
Control structure\n"
+"break
Exit from a loop\n"
+"continue
Continues the loop\n"
+"return
Exit from a function\n"
+"sizeof
Size of an array"
+msgstr ""
+
+#~ msgid ""
+#~ "extern
Indicate the main function\n"
+#~ "if
Choice structure\n"
+#~ "else
Alternative choice structure\n"
+#~ "switch
Multiple choice structure\n"
+#~ "case
One choice\n"
+#~ "default
Default choice\n"
+#~ "for
Loop structure\n"
+#~ "while
Control structure\n"
+#~ "do
Control structure\n"
+#~ "break
Exit from a loop\n"
+#~ "continue
Continues the loop\n"
+#~ "return
Exit from a function\n"
+#~ "sizeof
Size of an array"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "extern
Indicate the main function\n"
+#~ "if
Choice structure\n"
+#~ "else
Alternative choice structure\n"
+#~ "switch
Multiple choice structure\n"
+#~ "case
One choice\n"
+#~ "default
Default choice\n"
+#~ "for
Loop structure\n"
+#~ "while
Control structure\n"
+#~ "do
Control structure\n"
+#~ "break
Exit from a loop\n"
+#~ "continue
Continues the loop\n"
+#~ "return
Exit from a function\n"
+#~ "sizeof
Size of an array"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "extern
Indicate the main function\n"
+#~ "if
Choice structure\n"
+#~ "else
Alternative choice structure\n"
+#~ "for
Loop structure\n"
+#~ "while
Control structure\n"
+#~ "do
Control structure\n"
+#~ "break
Exit from a loop\n"
+#~ "continue
Continues the loop\n"
+#~ "return
Exit from a function\n"
+#~ "sizeof
Size of an array"
+#~ msgstr ""
+#~ "extern
Bezeichnet die Hauptfunktion\n"
+#~ "if
Bedingte Struktur\n"
+#~ "else
Alternative bedingte Struktur\n"
+#~ "for
Schleifenstruktur\n"
+#~ "while
Bedingte Schleifenstruktur\n"
+#~ "do
Bedingte Schleifenstruktur\n"
+#~ "break
Abbruch einer Schleife\n"
+#~ "continue
Neuanfang einer Schleife\n"
+#~ "return
Rückkehr von einer Funktion\n"
+#~ "sizeof
Grösse eines Arrays"
+
#~ msgid "There is much more options (as there should be in an strategy game), but this is the basis. Read documentation, play the game and think creatively to come up with new ideas. Good luck and have fun!"
#~ msgstr ""
diff --git a/help/generic/po/fr.po b/help/generic/po/fr.po
index 90cf72d4..6dd4ecb4 100644
--- a/help/generic/po/fr.po
+++ b/help/generic/po/fr.po
@@ -116,59 +116,32 @@ msgstr "Une constante telle qu'une catégorie est coloriée
msgid "Instructions in the CBOT language:"
msgstr "Instructions générales du langage:"
-#. type: Plain text
-#: ../E/cbot.txt:15
-#, no-wrap
-msgid ""
-"extern
Indicate the main function\n"
-"if
Choice structure\n"
-"else
Alternative choice structure\n"
-"for
Loop structure\n"
-"while
Control structure\n"
-"do
Control structure\n"
-"break
Exit from a loop\n"
-"continue
Continues the loop\n"
-"return
Exit from a function\n"
-"sizeof
Size of an array"
-msgstr ""
-"extern
Indique le programme principal\n"
-"if
Structure de choix\n"
-"else
Structure de choix\n"
-"repeat
Structure de répétition\n"
-"for
Structure de répétition\n"
-"while
Stucture de contrôle\n"
-"do
Stucture de contrôle\n"
-"break
Sortie d'un boucle\n"
-"continue
Continue une boucle\n"
-"return
Sort d'une fonction\n"
-"sizeof
Taille d'un tableau"
-
#. type: \t; header
-#: ../E/cbot.txt:26
+#: ../E/cbot.txt:29
#, no-wrap
msgid "Specific instructions for bots:"
msgstr "Instructions pour les robots:"
#. type: \t; header
-#: ../E/cbot.txt:49
+#: ../E/cbot.txt:52
#, no-wrap
msgid "Instructions about topology:"
msgstr "Instructions sur le terrain:"
#. type: \t; header
-#: ../E/cbot.txt:55
+#: ../E/cbot.txt:58
#, no-wrap
msgid "Instructions specific to some bots:"
msgstr "Instructions spécifiques à certains robots:"
#. type: \t; header
-#: ../E/cbot.txt:74
+#: ../E/cbot.txt:77
#, no-wrap
msgid "Specific instructions for exchange posts:"
msgstr "Instructions pour les bornes d'infomation:"
#. type: Plain text
-#: ../E/cbot.txt:75
+#: ../E/cbot.txt:78
#, no-wrap
msgid ""
"receive
Receives an information\n"
@@ -182,13 +155,13 @@ msgstr ""
"deleteinfo
Supprime une information"
#. type: \t; header
-#: ../E/cbot.txt:80
+#: ../E/cbot.txt:83
#, no-wrap
msgid "Specific instructions for classes:"
msgstr "Instructions pour les classes:"
#. type: Plain text
-#: ../E/cbot.txt:81
+#: ../E/cbot.txt:84
#, no-wrap
msgid ""
"class
Class declararion\n"
@@ -208,13 +181,13 @@ msgstr ""
"this
Référence l'instance courante"
#. type: \t; header
-#: ../E/cbot.txt:89
+#: ../E/cbot.txt:92
#, no-wrap
msgid "Specific instructions for strings:"
msgstr "Instructions pour les chaînes de caractères:"
#. type: Plain text
-#: ../E/cbot.txt:90
+#: ../E/cbot.txt:93
#, no-wrap
msgid ""
"strlen
Gets string length\n"
@@ -236,13 +209,13 @@ msgstr ""
"strlower
Convertit en minuscules."
#. type: \t; header
-#: ../E/cbot.txt:99
+#: ../E/cbot.txt:102
#, no-wrap
msgid "Specific instructions for files:"
msgstr "Instructions pour les fichiers:"
#. type: Plain text
-#: ../E/cbot.txt:100
+#: ../E/cbot.txt:103
#, no-wrap
msgid ""
"open
Opens a file\n"
@@ -260,13 +233,13 @@ msgstr ""
"deletefile
Supprime un fichier"
#. type: \t; header
-#: ../E/battles.txt:40 ../E/cbot.txt:123 ../E/freehelp.txt:4
+#: ../E/battles.txt:40 ../E/cbot.txt:126 ../E/freehelp.txt:4
#, no-wrap
msgid "See also"
msgstr "Voir aussi"
#. type: Plain text
-#: ../E/cbot.txt:124
+#: ../E/cbot.txt:127
#, no-wrap
msgid "Types and categories."
msgstr "Types et catégories."
@@ -541,13 +514,13 @@ msgstr ""
"La Grande Migration va débuter très prochainement ..."
#. type: \t; header
-#: ../E/cbot.txt:107
+#: ../E/cbot.txt:110
#, no-wrap
msgid "Mathematical functions:"
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:56
+#: ../E/cbot.txt:59
#, no-wrap
msgid ""
"grab
Picks up an object\n"
@@ -564,7 +537,7 @@ msgid ""
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:108
+#: ../E/cbot.txt:111
#, no-wrap
msgid ""
"rand
Returns a random value\n"
@@ -584,13 +557,13 @@ msgid ""
msgstr ""
#. type: \t; header
-#: ../E/cbot.txt:68
+#: ../E/cbot.txt:71
#, no-wrap
msgid "Instructions specific for some objects:"
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:69
+#: ../E/cbot.txt:72
#, no-wrap
msgid ""
"factory
Starts construction of a bot\n"
@@ -600,7 +573,7 @@ msgid ""
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:50
+#: ../E/cbot.txt:53
#, no-wrap
msgid ""
"space
Calculates a free space\n"
@@ -610,7 +583,7 @@ msgid ""
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:27
+#: ../E/cbot.txt:30
#, no-wrap
msgid ""
"radar
Object detection\n"
@@ -765,6 +738,81 @@ msgstr ""
msgid "There is much more options, but this is the basis. Read documentation, play the game and think creatively to come up with new ideas. Good luck and have fun!"
msgstr ""
+#. type: Plain text
+#: ../E/cbot.txt:15
+#, no-wrap
+msgid ""
+"extern
Indicate the main function\n"
+"if
Choice structure\n"
+"else
Alternative choice structure\n"
+"switch
Multiple choice structure\n"
+"case
One choice\n"
+"default
Default choice\n"
+"for
Loop structure\n"
+"while
Control structure\n"
+"do
Control structure\n"
+"break
Exit from a loop\n"
+"continue
Continues the loop\n"
+"return
Exit from a function\n"
+"sizeof
Size of an array"
+msgstr ""
+
+#~ msgid ""
+#~ "extern
Indicate the main function\n"
+#~ "if
Choice structure\n"
+#~ "else
Alternative choice structure\n"
+#~ "switch
Multiple choice structure\n"
+#~ "case
One choice\n"
+#~ "default
Default choice\n"
+#~ "for
Loop structure\n"
+#~ "while
Control structure\n"
+#~ "do
Control structure\n"
+#~ "break
Exit from a loop\n"
+#~ "continue
Continues the loop\n"
+#~ "return
Exit from a function\n"
+#~ "sizeof
Size of an array"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "extern
Indicate the main function\n"
+#~ "if
Choice structure\n"
+#~ "else
Alternative choice structure\n"
+#~ "switch
Multiple choice structure\n"
+#~ "case
One choice\n"
+#~ "default
Default choice\n"
+#~ "for
Loop structure\n"
+#~ "while
Control structure\n"
+#~ "do
Control structure\n"
+#~ "break
Exit from a loop\n"
+#~ "continue
Continues the loop\n"
+#~ "return
Exit from a function\n"
+#~ "sizeof
Size of an array"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "extern
Indicate the main function\n"
+#~ "if
Choice structure\n"
+#~ "else
Alternative choice structure\n"
+#~ "for
Loop structure\n"
+#~ "while
Control structure\n"
+#~ "do
Control structure\n"
+#~ "break
Exit from a loop\n"
+#~ "continue
Continues the loop\n"
+#~ "return
Exit from a function\n"
+#~ "sizeof
Size of an array"
+#~ msgstr ""
+#~ "extern
Indique le programme principal\n"
+#~ "if
Structure de choix\n"
+#~ "else
Structure de choix\n"
+#~ "repeat
Structure de répétition\n"
+#~ "for
Structure de répétition\n"
+#~ "while
Stucture de contrôle\n"
+#~ "do
Stucture de contrôle\n"
+#~ "break
Sortie d'un boucle\n"
+#~ "continue
Continue une boucle\n"
+#~ "return
Sort d'une fonction\n"
+#~ "sizeof
Taille d'un tableau"
+
#~ msgid "There is much more options (as there should be in an strategy game), but this is the basis. Read documentation, play the game and think creatively to come up with new ideas. Good luck and have fun!"
#~ msgstr ""
diff --git a/help/generic/po/generic.pot b/help/generic/po/generic.pot
index e22cc352..ec7335e9 100644
--- a/help/generic/po/generic.pot
+++ b/help/generic/po/generic.pot
@@ -102,48 +102,32 @@ msgstr ""
msgid "Instructions in the CBOT language:"
msgstr ""
-#. type: Plain text
-#: ../E/cbot.txt:15
-#, no-wrap
-msgid ""
-"extern
Indicate the main function\n"
-"if
Choice structure\n"
-"else
Alternative choice structure\n"
-"for
Loop structure\n"
-"while
Control structure\n"
-"do
Control structure\n"
-"break
Exit from a loop\n"
-"continue
Continues the loop\n"
-"return
Exit from a function\n"
-"sizeof
Size of an array"
-msgstr ""
-
#. type: \t; header
-#: ../E/cbot.txt:26
+#: ../E/cbot.txt:29
#, no-wrap
msgid "Specific instructions for bots:"
msgstr ""
#. type: \t; header
-#: ../E/cbot.txt:49
+#: ../E/cbot.txt:52
#, no-wrap
msgid "Instructions about topology:"
msgstr ""
#. type: \t; header
-#: ../E/cbot.txt:55
+#: ../E/cbot.txt:58
#, no-wrap
msgid "Instructions specific to some bots:"
msgstr ""
#. type: \t; header
-#: ../E/cbot.txt:74
+#: ../E/cbot.txt:77
#, no-wrap
msgid "Specific instructions for exchange posts:"
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:75
+#: ../E/cbot.txt:78
#, no-wrap
msgid ""
"receive
Receives an information\n"
@@ -153,13 +137,13 @@ msgid ""
msgstr ""
#. type: \t; header
-#: ../E/cbot.txt:80
+#: ../E/cbot.txt:83
#, no-wrap
msgid "Specific instructions for classes:"
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:81
+#: ../E/cbot.txt:84
#, no-wrap
msgid ""
"class
Class declararion\n"
@@ -172,13 +156,13 @@ msgid ""
msgstr ""
#. type: \t; header
-#: ../E/cbot.txt:89
+#: ../E/cbot.txt:92
#, no-wrap
msgid "Specific instructions for strings:"
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:90
+#: ../E/cbot.txt:93
#, no-wrap
msgid ""
"strlen
Gets string length\n"
@@ -192,13 +176,13 @@ msgid ""
msgstr ""
#. type: \t; header
-#: ../E/cbot.txt:99
+#: ../E/cbot.txt:102
#, no-wrap
msgid "Specific instructions for files:"
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:100
+#: ../E/cbot.txt:103
#, no-wrap
msgid ""
"open
Opens a file\n"
@@ -210,13 +194,13 @@ msgid ""
msgstr ""
#. type: \t; header
-#: ../E/battles.txt:40 ../E/cbot.txt:123 ../E/freehelp.txt:4
+#: ../E/battles.txt:40 ../E/cbot.txt:126 ../E/freehelp.txt:4
#, no-wrap
msgid "See also"
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:124
+#: ../E/cbot.txt:127
#, no-wrap
msgid "Types and categories."
msgstr ""
@@ -470,13 +454,13 @@ msgid "Colobot: Gold Edition developers"
msgstr ""
#. type: \t; header
-#: ../E/cbot.txt:107
+#: ../E/cbot.txt:110
#, no-wrap
msgid "Mathematical functions:"
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:56
+#: ../E/cbot.txt:59
#, no-wrap
msgid ""
"grab
Picks up an object\n"
@@ -493,7 +477,7 @@ msgid ""
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:108
+#: ../E/cbot.txt:111
#, no-wrap
msgid ""
"rand
Returns a random value\n"
@@ -513,13 +497,13 @@ msgid ""
msgstr ""
#. type: \t; header
-#: ../E/cbot.txt:68
+#: ../E/cbot.txt:71
#, no-wrap
msgid "Instructions specific for some objects:"
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:69
+#: ../E/cbot.txt:72
#, no-wrap
msgid ""
"factory
Starts construction of a bot\n"
@@ -529,7 +513,7 @@ msgid ""
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:50
+#: ../E/cbot.txt:53
#, no-wrap
msgid ""
"space
Calculates a free space\n"
@@ -539,7 +523,7 @@ msgid ""
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:27
+#: ../E/cbot.txt:30
#, no-wrap
msgid ""
"radar
Object detection\n"
@@ -694,6 +678,70 @@ msgstr ""
msgid "There is much more options, but this is the basis. Read documentation, play the game and think creatively to come up with new ideas. Good luck and have fun!"
msgstr ""
+#. type: Plain text
+#: ../E/cbot.txt:15
+#, no-wrap
+msgid ""
+"extern
Indicate the main function\n"
+"if
Choice structure\n"
+"else
Alternative choice structure\n"
+"switch
Multiple choice structure\n"
+"case
One choice\n"
+"default
Default choice\n"
+"for
Loop structure\n"
+"while
Control structure\n"
+"do
Control structure\n"
+"break
Exit from a loop\n"
+"continue
Continues the loop\n"
+"return
Exit from a function\n"
+"sizeof
Size of an array"
+msgstr ""
+
+#~ msgid ""
+#~ "extern
Indicate the main function\n"
+#~ "if
Choice structure\n"
+#~ "else
Alternative choice structure\n"
+#~ "switch
Multiple choice structure\n"
+#~ "case
One choice\n"
+#~ "default
Default choice\n"
+#~ "for
Loop structure\n"
+#~ "while
Control structure\n"
+#~ "do
Control structure\n"
+#~ "break
Exit from a loop\n"
+#~ "continue
Continues the loop\n"
+#~ "return
Exit from a function\n"
+#~ "sizeof
Size of an array"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "extern
Indicate the main function\n"
+#~ "if
Choice structure\n"
+#~ "else
Alternative choice structure\n"
+#~ "switch
Multiple choice structure\n"
+#~ "case
One choice\n"
+#~ "default
Default choice\n"
+#~ "for
Loop structure\n"
+#~ "while
Control structure\n"
+#~ "do
Control structure\n"
+#~ "break
Exit from a loop\n"
+#~ "continue
Continues the loop\n"
+#~ "return
Exit from a function\n"
+#~ "sizeof
Size of an array"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "extern
Indicate the main function\n"
+#~ "if
Choice structure\n"
+#~ "else
Alternative choice structure\n"
+#~ "for
Loop structure\n"
+#~ "while
Control structure\n"
+#~ "do
Control structure\n"
+#~ "break
Exit from a loop\n"
+#~ "continue
Continues the loop\n"
+#~ "return
Exit from a function\n"
+#~ "sizeof
Size of an array"
+#~ msgstr ""
+
#~ msgid "There is much more options (as there should be in an strategy game), but this is the basis. Read documentation, play the game and think creatively to come up with new ideas. Good luck and have fun!"
#~ msgstr ""
diff --git a/help/generic/po/pl.po b/help/generic/po/pl.po
index c6a4b497..3b23115b 100644
--- a/help/generic/po/pl.po
+++ b/help/generic/po/pl.po
@@ -118,58 +118,32 @@ msgstr "Stałe, podobnie jak kategorie, wyświetlane są na
msgid "Instructions in the CBOT language:"
msgstr "Instrukcje w języku CBOT:"
-#. type: Plain text
-#: ../E/cbot.txt:15
-#, no-wrap
-msgid ""
-"extern
Indicate the main function\n"
-"if
Choice structure\n"
-"else
Alternative choice structure\n"
-"for
Loop structure\n"
-"while
Control structure\n"
-"do
Control structure\n"
-"break
Exit from a loop\n"
-"continue
Continues the loop\n"
-"return
Exit from a function\n"
-"sizeof
Size of an array"
-msgstr ""
-"extern
Oznacza główną funkcję\n"
-"if
Struktura wyboru\n"
-"else
Struktura wyboru alternatywy\n"
-"for
Struktura pętli\n"
-"while
Struktura kontroli\n"
-"do
Struktura kontroli\n"
-"break
Wychodzi z pętli\n"
-"continue
Kontynuuje pętlę\n"
-"return
Wychodzi z funkcji\n"
-"sizeof
Rozmiar tablicy"
-
#. type: \t; header
-#: ../E/cbot.txt:26
+#: ../E/cbot.txt:29
#, no-wrap
msgid "Specific instructions for bots:"
msgstr "Instrukcje specyficzne dla robotów:"
#. type: \t; header
-#: ../E/cbot.txt:49
+#: ../E/cbot.txt:52
#, no-wrap
msgid "Instructions about topology:"
msgstr "Instrukcje związane z topologią terenu:"
#. type: \t; header
-#: ../E/cbot.txt:55
+#: ../E/cbot.txt:58
#, no-wrap
msgid "Instructions specific to some bots:"
msgstr "Instrukcje specyficzne dla niektórych robotów:"
#. type: \t; header
-#: ../E/cbot.txt:74
+#: ../E/cbot.txt:77
#, no-wrap
msgid "Specific instructions for exchange posts:"
msgstr "Instrukcje specyficzne dla stacji przekaźnikowych:"
#. type: Plain text
-#: ../E/cbot.txt:75
+#: ../E/cbot.txt:78
#, no-wrap
msgid ""
"receive
Receives an information\n"
@@ -183,13 +157,13 @@ msgstr ""
"deleteinfo
Usuwa istniejącą informację"
#. type: \t; header
-#: ../E/cbot.txt:80
+#: ../E/cbot.txt:83
#, no-wrap
msgid "Specific instructions for classes:"
msgstr "Instrukcje specyficzne dla klas:"
#. type: Plain text
-#: ../E/cbot.txt:81
+#: ../E/cbot.txt:84
#, no-wrap
msgid ""
"class
Class declararion\n"
@@ -209,13 +183,13 @@ msgstr ""
"this
Odwołanie do bieżącej instancji"
#. type: \t; header
-#: ../E/cbot.txt:89
+#: ../E/cbot.txt:92
#, no-wrap
msgid "Specific instructions for strings:"
msgstr "Instrukcje specyficzne dla łańcuchów:"
#. type: Plain text
-#: ../E/cbot.txt:90
+#: ../E/cbot.txt:93
#, no-wrap
msgid ""
"strlen
Gets string length\n"
@@ -237,13 +211,13 @@ msgstr ""
"strlower
Zamienia litery na małe"
#. type: \t; header
-#: ../E/cbot.txt:99
+#: ../E/cbot.txt:102
#, no-wrap
msgid "Specific instructions for files:"
msgstr "Instrukcje specyficzne dla plików:"
#. type: Plain text
-#: ../E/cbot.txt:100
+#: ../E/cbot.txt:103
#, no-wrap
msgid ""
"open
Opens a file\n"
@@ -261,13 +235,13 @@ msgstr ""
"deletefile
Usuwa plik"
#. type: \t; header
-#: ../E/battles.txt:40 ../E/cbot.txt:123 ../E/freehelp.txt:4
+#: ../E/battles.txt:40 ../E/cbot.txt:126 ../E/freehelp.txt:4
#, no-wrap
msgid "See also"
msgstr "Zobacz również"
#. type: Plain text
-#: ../E/cbot.txt:124
+#: ../E/cbot.txt:127
#, no-wrap
msgid "Types and categories."
msgstr "Typy i kategorie."
@@ -547,13 +521,13 @@ msgstr ""
"Niebawem roczpocznie się Wielka Migracja na Nową Ziemię."
#. type: \t; header
-#: ../E/cbot.txt:107
+#: ../E/cbot.txt:110
#, no-wrap
msgid "Mathematical functions:"
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:56
+#: ../E/cbot.txt:59
#, no-wrap
msgid ""
"grab
Picks up an object\n"
@@ -570,7 +544,7 @@ msgid ""
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:108
+#: ../E/cbot.txt:111
#, no-wrap
msgid ""
"rand
Returns a random value\n"
@@ -590,13 +564,13 @@ msgid ""
msgstr ""
#. type: \t; header
-#: ../E/cbot.txt:68
+#: ../E/cbot.txt:71
#, no-wrap
msgid "Instructions specific for some objects:"
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:69
+#: ../E/cbot.txt:72
#, no-wrap
msgid ""
"factory
Starts construction of a bot\n"
@@ -606,7 +580,7 @@ msgid ""
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:50
+#: ../E/cbot.txt:53
#, no-wrap
msgid ""
"space
Calculates a free space\n"
@@ -616,7 +590,7 @@ msgid ""
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:27
+#: ../E/cbot.txt:30
#, no-wrap
msgid ""
"radar
Object detection\n"
@@ -771,6 +745,80 @@ msgstr ""
msgid "There is much more options, but this is the basis. Read documentation, play the game and think creatively to come up with new ideas. Good luck and have fun!"
msgstr ""
+#. type: Plain text
+#: ../E/cbot.txt:15
+#, no-wrap
+msgid ""
+"extern
Indicate the main function\n"
+"if
Choice structure\n"
+"else
Alternative choice structure\n"
+"switch
Multiple choice structure\n"
+"case
One choice\n"
+"default
Default choice\n"
+"for
Loop structure\n"
+"while
Control structure\n"
+"do
Control structure\n"
+"break
Exit from a loop\n"
+"continue
Continues the loop\n"
+"return
Exit from a function\n"
+"sizeof
Size of an array"
+msgstr ""
+
+#~ msgid ""
+#~ "extern
Indicate the main function\n"
+#~ "if
Choice structure\n"
+#~ "else
Alternative choice structure\n"
+#~ "switch
Multiple choice structure\n"
+#~ "case
One choice\n"
+#~ "default
Default choice\n"
+#~ "for
Loop structure\n"
+#~ "while
Control structure\n"
+#~ "do
Control structure\n"
+#~ "break
Exit from a loop\n"
+#~ "continue
Continues the loop\n"
+#~ "return
Exit from a function\n"
+#~ "sizeof
Size of an array"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "extern
Indicate the main function\n"
+#~ "if
Choice structure\n"
+#~ "else
Alternative choice structure\n"
+#~ "switch
Multiple choice structure\n"
+#~ "case
One choice\n"
+#~ "default
Default choice\n"
+#~ "for
Loop structure\n"
+#~ "while
Control structure\n"
+#~ "do
Control structure\n"
+#~ "break
Exit from a loop\n"
+#~ "continue
Continues the loop\n"
+#~ "return
Exit from a function\n"
+#~ "sizeof
Size of an array"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "extern
Indicate the main function\n"
+#~ "if
Choice structure\n"
+#~ "else
Alternative choice structure\n"
+#~ "for
Loop structure\n"
+#~ "while
Control structure\n"
+#~ "do
Control structure\n"
+#~ "break
Exit from a loop\n"
+#~ "continue
Continues the loop\n"
+#~ "return
Exit from a function\n"
+#~ "sizeof
Size of an array"
+#~ msgstr ""
+#~ "extern
Oznacza główną funkcję\n"
+#~ "if
Struktura wyboru\n"
+#~ "else
Struktura wyboru alternatywy\n"
+#~ "for
Struktura pętli\n"
+#~ "while
Struktura kontroli\n"
+#~ "do
Struktura kontroli\n"
+#~ "break
Wychodzi z pętli\n"
+#~ "continue
Kontynuuje pętlę\n"
+#~ "return
Wychodzi z funkcji\n"
+#~ "sizeof
Rozmiar tablicy"
+
#~ msgid "There is much more options (as there should be in an strategy game), but this is the basis. Read documentation, play the game and think creatively to come up with new ideas. Good luck and have fun!"
#~ msgstr ""
diff --git a/help/generic/po/ru.po b/help/generic/po/ru.po
index adb70200..798a0a2a 100644
--- a/help/generic/po/ru.po
+++ b/help/generic/po/ru.po
@@ -114,48 +114,32 @@ msgstr ""
msgid "Instructions in the CBOT language:"
msgstr ""
-#. type: Plain text
-#: ../E/cbot.txt:15
-#, no-wrap
-msgid ""
-"extern
Indicate the main function\n"
-"if
Choice structure\n"
-"else
Alternative choice structure\n"
-"for
Loop structure\n"
-"while
Control structure\n"
-"do
Control structure\n"
-"break
Exit from a loop\n"
-"continue
Continues the loop\n"
-"return
Exit from a function\n"
-"sizeof
Size of an array"
-msgstr ""
-
#. type: \t; header
-#: ../E/cbot.txt:26
+#: ../E/cbot.txt:29
#, no-wrap
msgid "Specific instructions for bots:"
msgstr ""
#. type: \t; header
-#: ../E/cbot.txt:49
+#: ../E/cbot.txt:52
#, no-wrap
msgid "Instructions about topology:"
msgstr ""
#. type: \t; header
-#: ../E/cbot.txt:55
+#: ../E/cbot.txt:58
#, no-wrap
msgid "Instructions specific to some bots:"
msgstr ""
#. type: \t; header
-#: ../E/cbot.txt:74
+#: ../E/cbot.txt:77
#, no-wrap
msgid "Specific instructions for exchange posts:"
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:75
+#: ../E/cbot.txt:78
#, no-wrap
msgid ""
"receive
Receives an information\n"
@@ -165,13 +149,13 @@ msgid ""
msgstr ""
#. type: \t; header
-#: ../E/cbot.txt:80
+#: ../E/cbot.txt:83
#, no-wrap
msgid "Specific instructions for classes:"
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:81
+#: ../E/cbot.txt:84
#, no-wrap
msgid ""
"class
Class declararion\n"
@@ -184,13 +168,13 @@ msgid ""
msgstr ""
#. type: \t; header
-#: ../E/cbot.txt:89
+#: ../E/cbot.txt:92
#, no-wrap
msgid "Specific instructions for strings:"
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:90
+#: ../E/cbot.txt:93
#, no-wrap
msgid ""
"strlen
Gets string length\n"
@@ -204,13 +188,13 @@ msgid ""
msgstr ""
#. type: \t; header
-#: ../E/cbot.txt:99
+#: ../E/cbot.txt:102
#, no-wrap
msgid "Specific instructions for files:"
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:100
+#: ../E/cbot.txt:103
#, no-wrap
msgid ""
"open
Opens a file\n"
@@ -222,13 +206,13 @@ msgid ""
msgstr ""
#. type: \t; header
-#: ../E/battles.txt:40 ../E/cbot.txt:123 ../E/freehelp.txt:4
+#: ../E/battles.txt:40 ../E/cbot.txt:126 ../E/freehelp.txt:4
#, no-wrap
msgid "See also"
msgstr "См. также"
#. type: Plain text
-#: ../E/cbot.txt:124
+#: ../E/cbot.txt:127
#, no-wrap
msgid "Types and categories."
msgstr ""
@@ -508,13 +492,13 @@ msgstr ""
"Большое переселение на Терра Нову начнется очень скоро."
#. type: \t; header
-#: ../E/cbot.txt:107
+#: ../E/cbot.txt:110
#, no-wrap
msgid "Mathematical functions:"
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:56
+#: ../E/cbot.txt:59
#, no-wrap
msgid ""
"grab
Picks up an object\n"
@@ -531,7 +515,7 @@ msgid ""
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:108
+#: ../E/cbot.txt:111
#, no-wrap
msgid ""
"rand
Returns a random value\n"
@@ -551,13 +535,13 @@ msgid ""
msgstr ""
#. type: \t; header
-#: ../E/cbot.txt:68
+#: ../E/cbot.txt:71
#, no-wrap
msgid "Instructions specific for some objects:"
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:69
+#: ../E/cbot.txt:72
#, no-wrap
msgid ""
"factory
Starts construction of a bot\n"
@@ -567,7 +551,7 @@ msgid ""
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:50
+#: ../E/cbot.txt:53
#, no-wrap
msgid ""
"space
Calculates a free space\n"
@@ -577,7 +561,7 @@ msgid ""
msgstr ""
#. type: Plain text
-#: ../E/cbot.txt:27
+#: ../E/cbot.txt:30
#, no-wrap
msgid ""
"radar
Object detection\n"
@@ -732,6 +716,70 @@ msgstr ""
msgid "There is much more options, but this is the basis. Read documentation, play the game and think creatively to come up with new ideas. Good luck and have fun!"
msgstr ""
+#. type: Plain text
+#: ../E/cbot.txt:15
+#, no-wrap
+msgid ""
+"extern
Indicate the main function\n"
+"if
Choice structure\n"
+"else
Alternative choice structure\n"
+"switch
Multiple choice structure\n"
+"case
One choice\n"
+"default
Default choice\n"
+"for
Loop structure\n"
+"while
Control structure\n"
+"do
Control structure\n"
+"break
Exit from a loop\n"
+"continue
Continues the loop\n"
+"return
Exit from a function\n"
+"sizeof
Size of an array"
+msgstr ""
+
+#~ msgid ""
+#~ "extern
Indicate the main function\n"
+#~ "if
Choice structure\n"
+#~ "else
Alternative choice structure\n"
+#~ "switch
Multiple choice structure\n"
+#~ "case
One choice\n"
+#~ "default
Default choice\n"
+#~ "for
Loop structure\n"
+#~ "while
Control structure\n"
+#~ "do
Control structure\n"
+#~ "break
Exit from a loop\n"
+#~ "continue
Continues the loop\n"
+#~ "return
Exit from a function\n"
+#~ "sizeof
Size of an array"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "extern
Indicate the main function\n"
+#~ "if
Choice structure\n"
+#~ "else
Alternative choice structure\n"
+#~ "switch
Multiple choice structure\n"
+#~ "case
One choice\n"
+#~ "default
Default choice\n"
+#~ "for
Loop structure\n"
+#~ "while
Control structure\n"
+#~ "do
Control structure\n"
+#~ "break
Exit from a loop\n"
+#~ "continue
Continues the loop\n"
+#~ "return
Exit from a function\n"
+#~ "sizeof
Size of an array"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "extern
Indicate the main function\n"
+#~ "if
Choice structure\n"
+#~ "else
Alternative choice structure\n"
+#~ "for
Loop structure\n"
+#~ "while
Control structure\n"
+#~ "do
Control structure\n"
+#~ "break
Exit from a loop\n"
+#~ "continue
Continues the loop\n"
+#~ "return
Exit from a function\n"
+#~ "sizeof
Size of an array"
+#~ msgstr ""
+
#~ msgid "There is much more options (as there should be in an strategy game), but this is the basis. Read documentation, play the game and think creatively to come up with new ideas. Good luck and have fun!"
#~ msgstr ""