diff --git a/help/cbot/po/cbot.pot b/help/cbot/po/cbot.pot
index 9eae49f9..73fa2c63 100644
--- a/help/cbot/po/cbot.pot
+++ b/help/cbot/po/cbot.pot
@@ -3053,24 +3053,141 @@ msgid ""
"Programming, types and categories."
msgstr ""
+#. type: \b; header
+#: ../E/radar.txt:1
+#, no-wrap
+msgid "Instruction radar"
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:2
+#, no-wrap
+msgid "With the instruction radar(), you can look for objects like enemies, bots, buildings or raw materials."
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:5
+#, no-wrap
+msgid "Write in brackets the name of the object that you look for. Put the result in a variable of the typeobject. Here is an example that looks for the closest ant:"
+msgstr ""
+
+#. type: Source code
+#: ../E/radar.txt:7
+#, no-wrap
+msgid ""
+"// At the beginning of the program:\n"
+"object item; // variable declaration\n"
+"\n"
+"// Look for the closest ant\n"
+"item = radar(AlienAnt);"
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:17
+#, no-wrap
+msgid "Detects an object according to several parameters. "
+msgstr ""
+
+#. type: Image filename
+#: ../E/radar.txt:19
+#, no-wrap
+msgid "radar1"
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:20
+#, no-wrap
+msgid "Seen from above, the purple zone corresponds to the zone where objects will be detected. "
+msgstr ""
+
#. type: \t; header
#: ../E/search.txt:7
#, no-wrap
msgid "category: int"
msgstr ""
+#. type: Plain text
+#: ../E/radar.txt:34
+#, no-wrap
+msgid ""
+"Direction that the radar is facing, in degrees. \n"
+" 0 -> radar is facing straight ahead\n"
+"-90 -> radar is facing a quarter turn right\n"
+" 90 -> radar is facing a quarter turn left"
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:40
+#, no-wrap
+msgid "Opening angle of the radar, in degrees. "
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:43
+#, no-wrap
+msgid "Minimum detection distance, in meters. Objects that are closer than the minimum distance will not be detected. "
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:46
+#, no-wrap
+msgid "Maximum detection distance, in meters. Objects that are farther away than the maximum distance will not be detected. "
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:49
+#, no-wrap
+msgid "Determines which way the objects are detected. With value 1, returns the closest object found in the specified zone. With value -1, the farthest object in the zone will be returned. "
+msgstr ""
+
#. type: \t; header
#: ../E/radar.txt:65 ../E/retobj.txt:10 ../E/search.txt:22
#, no-wrap
msgid "Return value: object"
msgstr ""
+#. type: Plain text
+#: ../E/radar.txt:66
+#, no-wrap
+msgid "Returns the first object found that corresponds to the specified category in the specified zone. If no object was found, returns the value null."
+msgstr ""
+
#. type: \t; header
#: ../E/cond.txt:21 ../E/radar.txt:68
#, no-wrap
msgid "Remark"
msgstr ""
+#. type: Plain text
+#: ../E/radar.txt:69
+#, no-wrap
+msgid "You do not have to give all the parameters. Here are two examples of instructions that are equivalent: "
+msgstr ""
+
+#. type: Source code
+#: ../E/radar.txt:71
+#, no-wrap
+msgid ""
+"\tradar(Titanium, 0, 360, 0, 1000);\n"
+"\tradar(Titanium); // equivalent"
+msgstr ""
+
+#. type: Source code
+#: ../E/radar.txt:74
+#, no-wrap
+msgid ""
+"\tradar(Titanium, 0, 90, 0, 1000);\n"
+"\tradar(Titanium, 0, 90); // equivalent"
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:77
+#, no-wrap
+msgid ""
+"When one or more parameters are not specified, the default values indicated above are used instead; only the first parameter is compulsory.\n"
+"Generally, only the first parameter is specified: f. ex. radar (AlienAnt) detects the closest ant, wherever it may be. "
+msgstr ""
+
#. type: \b; header
#: ../E/readln.txt:1
#, no-wrap
@@ -5055,122 +5172,6 @@ msgstr ""
msgid "The most frequent use of while consists in repeating a set of instructions again and again. In order to achieve this, write while (true) {} and put the instructions to be repeated in braces {}. As an example, here is a program that repeats again and again the following actions:"
msgstr ""
-#. type: Plain text
-#: ../E/for.txt:19
-#, no-wrap
-msgid ""
-"Example: count from 1 to 4\n"
-"for ( i = 1 ; i <= 4 ; i++ )"
-msgstr ""
-
-#. type: Source code
-#: ../E/build.txt:15
-#, no-wrap
-msgid "build ( cat );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:17
-#, no-wrap
-msgid "Tells the robot to build a building using a titanium cube placed on a flat ground nearby."
-msgstr ""
-
-#. type: \t; header
-#: ../E/build.txt:19 ../E/buildingenabled.txt:16 ../E/canbuild.txt:16 ../E/detect.txt:11 ../E/factory.txt:10 ../E/radar.txt:22
-#, no-wrap
-msgid "cat: int"
-msgstr ""
-
-#. type: \b; header
-#: ../E/build.txt:1
-#, no-wrap
-msgid "Instruction build"
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:23
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by build().\n"
-"== 0 Successfully built\n"
-"!= 0 Impossible to build (for example, the nearest titanium cube is too far away or the specified building is not available in the mission)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:7
-#, no-wrap
-msgid "Here is an example of a program that looks for the nearest titanium cube, goes to the position and builds a bot factory."
-msgstr ""
-
-#. type: Source code
-#: ../E/build.txt:9
-#, no-wrap
-msgid ""
-" object item = radar(Titanium);\n"
-" goto(item.position);\n"
-" build(BotFactory);"
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:5
-#, no-wrap
-msgid "This command is mostly useful in an attempt to build a fully automatised base, where an astronaut does not need to do anything except starting a program and watching bots working. What is more, it makes beating the game by using only programming a possible task (however, it is a challenge rather for experienced gamers, who beat the whole game at least once)."
-msgstr ""
-
-#. type: Source code
-#: ../E/aim.txt:3
-#, no-wrap
-msgid "aim ( y, x );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/aim.txt:10
-#, no-wrap
-msgid "When controlling the robot through programming, the gun can be also turned left or right by turning the whole robot with the instruction turn."
-msgstr ""
-
-#. type: \t; header
-#: ../E/aim.txt:12 ../E/atan2.txt:7 ../E/pow.txt:8
-#, no-wrap
-msgid "y: float"
-msgstr ""
-
-#. type: \t; header
-#: ../E/atan2.txt:10 ../E/pow.txt:5
-#, no-wrap
-msgid "x: float"
-msgstr ""
-
-#. type: Plain text
-#: ../E/aim.txt:5
-#, no-wrap
-msgid "This instruction sets the vertical and the horizontal angle of the cannon. The following robots are equipped with a cannon: "
-msgstr ""
-
-#. type: \b; header
-#: ../E/rand.txt:1
-#, no-wrap
-msgid "Instruction rand"
-msgstr ""
-
-#. type: Source code
-#: ../E/rand.txt:3
-#, no-wrap
-msgid "rand ( );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/rand.txt:6
-#, no-wrap
-msgid "Pseudorandom number between 0 and 1 (including 0, but excluding 1)."
-msgstr ""
-
-#. type: Plain text
-#: ../E/acos.txt:12 ../E/asin.txt:12 ../E/atan.txt:12 ../E/atan2.txt:17 ../E/cos.txt:12 ../E/pow.txt:15 ../E/rand.txt:9 ../E/sin.txt:12 ../E/sqrt.txt:12 ../E/tan.txt:12
-#, no-wrap
-msgid "Programming, types and expressions."
-msgstr ""
-
#. type: \b; header
#: ../E/acos.txt:1
#, no-wrap
@@ -5195,6 +5196,54 @@ msgstr ""
msgid "Number between -1 and 1 (including both)."
msgstr ""
+#. type: Plain text
+#: ../E/acos.txt:9
+#, no-wrap
+msgid "Arcus cosine (in degrees) of the value."
+msgstr ""
+
+#. type: Plain text
+#: ../E/acos.txt:12 ../E/asin.txt:12 ../E/atan.txt:12 ../E/atan2.txt:17 ../E/cos.txt:12 ../E/pow.txt:15 ../E/rand.txt:9 ../E/sin.txt:12 ../E/sqrt.txt:12 ../E/tan.txt:12
+#, no-wrap
+msgid "Programming, types and expressions."
+msgstr ""
+
+#. type: Source code
+#: ../E/aim.txt:3
+#, no-wrap
+msgid "aim ( y, x );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/aim.txt:5
+#, no-wrap
+msgid "This instruction sets the vertical and the horizontal angle of the cannon. The following robots are equipped with a cannon: "
+msgstr ""
+
+#. type: Plain text
+#: ../E/aim.txt:10
+#, no-wrap
+msgid "When controlling the robot through programming, the gun can be also turned left or right by turning the whole robot with the instruction turn."
+msgstr ""
+
+#. type: \t; header
+#: ../E/aim.txt:12 ../E/atan2.txt:7 ../E/pow.txt:8
+#, no-wrap
+msgid "y: float"
+msgstr ""
+
+#. type: \t; header
+#: ../E/aim.txt:15
+#, no-wrap
+msgid "x: float (default value: 0)"
+msgstr ""
+
+#. type: Plain text
+#: ../E/aim.txt:16
+#, no-wrap
+msgid "Angle in degrees of the gun relative to the robot. A positive value orients the gun to the right. The angle must range from -40 to +40 degrees for all shooters."
+msgstr ""
+
#. type: \b; header
#: ../E/asin.txt:1
#, no-wrap
@@ -5207,6 +5256,12 @@ msgstr ""
msgid "asin ( value );"
msgstr ""
+#. type: Plain text
+#: ../E/asin.txt:9
+#, no-wrap
+msgid "Arcus sine (in degrees) of the value."
+msgstr ""
+
#. type: \b; header
#: ../E/atan.txt:1
#, no-wrap
@@ -5225,6 +5280,451 @@ msgstr ""
msgid "Number."
msgstr ""
+#. type: Plain text
+#: ../E/atan.txt:9
+#, no-wrap
+msgid "Arcus tangent (in degrees) of the value."
+msgstr ""
+
+#. type: \b; header
+#: ../E/atan2.txt:1
+#, no-wrap
+msgid "Instruction atan2"
+msgstr ""
+
+#. type: Source code
+#: ../E/atan2.txt:3
+#, no-wrap
+msgid "atan2 ( y, x );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/atan2.txt:5
+#, no-wrap
+msgid "The purpose of using two arguments instead of one is to gather information on the signs of the inputs in order to return the appropriate quadrant of the computed angle, which is not possible for the single-argument atan(); function. For example, consider a point (-1, -1): atan(-1/-1); is 45.00 degrees, whereas atan2(-1, -1); is -135.00 degrees, which is obviously more correct in this case."
+msgstr ""
+
+#. type: \t; header
+#: ../E/atan2.txt:10 ../E/pow.txt:5
+#, no-wrap
+msgid "x: float"
+msgstr ""
+
+#. type: Plain text
+#: ../E/atan2.txt:14
+#, no-wrap
+msgid "Arcus tangent (in degrees) of y/x."
+msgstr ""
+
+#. type: \b; header
+#: ../E/build.txt:1
+#, no-wrap
+msgid "Instruction build"
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:2
+#, no-wrap
+msgid "The instruction build(); instructs the bot to build a building of the given category. Currently works for Grabbers, Me and Tech."
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:5
+#, no-wrap
+msgid "This command is mostly useful in an attempt to build a fully automatised base, where an astronaut does not need to do anything except starting a program and watching bots working. What is more, it makes beating the game by using only programming a possible task (however, it is a challenge rather for experienced gamers, who beat the whole game at least once)."
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:7
+#, no-wrap
+msgid "Here is an example of a program that looks for the nearest titanium cube, goes to the position and builds a bot factory."
+msgstr ""
+
+#. type: Source code
+#: ../E/build.txt:9
+#, no-wrap
+msgid ""
+" object item = radar(Titanium);\n"
+" goto(item.position);\n"
+" build(BotFactory);"
+msgstr ""
+
+#. type: Source code
+#: ../E/build.txt:15
+#, no-wrap
+msgid "build ( cat );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:17
+#, no-wrap
+msgid "Tells the robot to build a building using a titanium cube placed on a flat ground nearby."
+msgstr ""
+
+#. type: \t; header
+#: ../E/build.txt:19 ../E/buildingenabled.txt:16 ../E/canbuild.txt:16 ../E/detect.txt:11 ../E/factory.txt:10 ../E/radar.txt:22
+#, no-wrap
+msgid "cat: int"
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:20 ../E/buildingenabled.txt:17 ../E/canbuild.txt:17
+#, no-wrap
+msgid "Category of a building."
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:23
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by build().\n"
+"== 0 Successfully built\n"
+"!= 0 Impossible to build (for example, the nearest titanium cube is too far away or the specified building is not available in the mission)"
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:28
+#, no-wrap
+msgid "canbuild, buildingenabled, programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: ../E/buildingenabled.txt:1
+#, no-wrap
+msgid "Instruction buildingenabled"
+msgstr ""
+
+#. type: Plain text
+#: ../E/buildingenabled.txt:2
+#, no-wrap
+msgid "The instruction buildingenabled(); lets you know if a building of the given category can be built in the level."
+msgstr ""
+
+#. type: Plain text
+#: ../E/buildingenabled.txt:5
+#, no-wrap
+msgid "It is similar to the canbuild(); instruction. However, it does not check if a required research has been done."
+msgstr ""
+
+#. type: Source code
+#: ../E/buildingenabled.txt:7
+#, no-wrap
+msgid ""
+" if (buildingenabled(BotFactory))\n"
+" {\n"
+" \tbuild(BotFactory);\n"
+" }"
+msgstr ""
+
+#. type: Source code
+#: ../E/buildingenabled.txt:14
+#, no-wrap
+msgid "buildingenabled ( cat );"
+msgstr ""
+
+#. type: \t; header
+#: ../E/buildingenabled.txt:19 ../E/busy.txt:10 ../E/canbuild.txt:19 ../E/canresearch.txt:10 ../E/detect.txt:23 ../E/researched.txt:10
+#, no-wrap
+msgid "Return value: bool"
+msgstr ""
+
+#. type: Plain text
+#: ../E/buildingenabled.txt:20
+#, no-wrap
+msgid "true if the building can be built in the level even if required research has not been done, false otherwise."
+msgstr ""
+
+#. type: Plain text
+#: ../E/buildingenabled.txt:23
+#, no-wrap
+msgid "build, canbuild, ResearchCenter, programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: ../E/busy.txt:1
+#, no-wrap
+msgid "Instruction busy"
+msgstr ""
+
+#. type: Source code
+#: ../E/busy.txt:3
+#, no-wrap
+msgid "object.busy ( );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/busy.txt:5
+#, no-wrap
+msgid "Checks if the object is busy."
+msgstr ""
+
+#. type: \t; header
+#: ../E/busy.txt:7 ../E/destroy.txt:7 ../E/factory.txt:7 ../E/research.txt:7 ../E/takeoff.txt:7
+#, no-wrap
+msgid "object"
+msgstr ""
+
+#. type: Plain text
+#: ../E/busy.txt:8
+#, no-wrap
+msgid "Any building which can take some action (e.g. Converter)."
+msgstr ""
+
+#. type: Plain text
+#: ../E/busy.txt:11
+#, no-wrap
+msgid ""
+"true if the object is doing something (e.g. converting)\n"
+"false if the object is not doing anything"
+msgstr ""
+
+#. type: \b; header
+#: ../E/canbuild.txt:1
+#, no-wrap
+msgid "Instruction canbuild"
+msgstr ""
+
+#. type: Plain text
+#: ../E/canbuild.txt:2
+#, no-wrap
+msgid "The instruction canbuild(); lets you know if Grabbers, Me or Tech can build a building of the given category. "
+msgstr ""
+
+#. type: Plain text
+#: ../E/canbuild.txt:5
+#, no-wrap
+msgid "It helps to prevent errors in programs using the build(); instruction. Here is an example:"
+msgstr ""
+
+#. type: Source code
+#: ../E/canbuild.txt:7
+#, no-wrap
+msgid ""
+" if (canbuild(BotFactory))\n"
+" {\n"
+" \tbuild(BotFactory);\n"
+" }"
+msgstr ""
+
+#. type: Source code
+#: ../E/canbuild.txt:14
+#, no-wrap
+msgid "canbuild ( cat );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/canbuild.txt:20
+#, no-wrap
+msgid "true if the building can be built, false otherwise."
+msgstr ""
+
+#. type: Plain text
+#: ../E/canbuild.txt:23
+#, no-wrap
+msgid "build, buildingenabled, programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: ../E/canresearch.txt:1
+#, no-wrap
+msgid "Instruction canresearch"
+msgstr ""
+
+#. type: Source code
+#: ../E/canresearch.txt:3
+#, no-wrap
+msgid "canresearch ( research );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/canresearch.txt:5
+#, no-wrap
+msgid "Checks if the research can be done in the level."
+msgstr ""
+
+#. type: \t; header
+#: ../E/canresearch.txt:7 ../E/researched.txt:7
+#, no-wrap
+msgid "research: int"
+msgstr ""
+
+#. type: Plain text
+#: ../E/canresearch.txt:8 ../E/research.txt:11 ../E/researched.txt:8
+#, no-wrap
+msgid "Research name."
+msgstr ""
+
+#. type: Plain text
+#: ../E/canresearch.txt:11
+#, no-wrap
+msgid ""
+"true if the research can be done (even if it is already done, to check that, use the researched instruction)\n"
+"false if the research cannot be done"
+msgstr ""
+
+#. type: Plain text
+#: ../E/canresearch.txt:15
+#, no-wrap
+msgid "Research names, research, researched, programming, types and categories."
+msgstr ""
+
+#. type: Plain text
+#: ../E/category.txt:6
+#, no-wrap
+msgid "Below are the different categories available:"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:8
+#, no-wrap
+msgid "Buildings:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/category.txt:10
+#, no-wrap
+msgid ""
+" HoustonMission Control\n"
+" SpaceShipSpaceship\n"
+" BotFactoryRobot Factory\n"
+" ResearchCenterResearch Center\n"
+" RadarStationRadar\n"
+" ExchangePostInformation Exchange Post\n"
+" RepairCenterRepair Center\n"
+" DefenseTowerDefense Tower\n"
+" AutoLabOrganic Matter Analyzer \n"
+" PowerStationPower Station\n"
+" PowerPlantPower Cell Factory\n"
+" NuclearPlantNuclear Plant\n"
+" ConverterTitanium Converter\n"
+" DerrickDerrick\n"
+" PowerCaptorParabolic Lightning Conductor\n"
+" VaultVault\n"
+" StartAreaStarting Pad\n"
+" GoalAreaFinishing Pad\n"
+" AlienNestAlien Nest"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:31
+#, no-wrap
+msgid "Portable Objects:"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:44
+#, no-wrap
+msgid "Robots:"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:76
+#, no-wrap
+msgid "Enemies:"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:86
+#, no-wrap
+msgid "Miscellaneous:"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:95
+#, no-wrap
+msgid "Flags and Other Indicators:"
+msgstr ""
+
+#. type: \b; header
+#: ../E/ceil.txt:1
+#, no-wrap
+msgid "Instruction ceil"
+msgstr ""
+
+#. type: Source code
+#: ../E/ceil.txt:3
+#, no-wrap
+msgid "ceil ( value );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/ceil.txt:4
+#, no-wrap
+msgid "Rounds up a number."
+msgstr ""
+
+#. type: Plain text
+#: ../E/ceil.txt:10
+#, no-wrap
+msgid "Ceiling of the value, i.e. the smallest integer not less than value. For example, ceil(2.1) is 3.0."
+msgstr ""
+
+#. type: Plain text
+#: ../E/ceil.txt:13 ../E/floor.txt:13 ../E/trunc.txt:13
+#, no-wrap
+msgid "round, programming, types and expressions."
+msgstr ""
+
+#. type: \b; header
+#: ../E/colors.txt:1
+#, no-wrap
+msgid "Value Colors"
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:2
+#, no-wrap
+msgid "Color names are used to define a specific color to use. They can be passed to functions like pendown or pencolor."
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:4
+#, no-wrap
+msgid "In a program, colors are always displayed on a red background. If a color isn't highlighted in red, it is misspelled. Caps and lower cases should be kept as is."
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:6
+#, no-wrap
+msgid "Below are the different colors available:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:8
+#, no-wrap
+msgid ""
+"White\n"
+"Black\n"
+"Gray\n"
+"LightGray\n"
+"Red\n"
+"Pink\n"
+"Purple\n"
+"Orange\n"
+"Yellow\n"
+"Beige\n"
+"Brown\n"
+"Skin\n"
+"Green\n"
+"LightGreen\n"
+"Blue\n"
+"LightBlue"
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:25
+#, no-wrap
+msgid "You can also draw colored symbols:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:27
+#, no-wrap
+msgid ""
+"BlackArrow\n"
+"RedArrow"
+msgstr ""
+
#. type: \b; header
#: ../E/cos.txt:1
#, no-wrap
@@ -5250,287 +5750,191 @@ msgid "Cosine of the angle."
msgstr ""
#. type: \b; header
-#: ../E/pow.txt:1
+#: ../E/destroy.txt:1
#, no-wrap
-msgid "Instruction pow"
+msgid "Instruction destroy"
msgstr ""
#. type: Source code
-#: ../E/pow.txt:3
+#: ../E/destroy.txt:3
#, no-wrap
-msgid "pow ( x, y );"
+msgid "object.destroy ( );"
msgstr ""
#. type: Plain text
-#: ../E/pow.txt:6
+#: ../E/destroy.txt:5
#, no-wrap
-msgid "Base."
+msgid "Destroys an object."
msgstr ""
#. type: Plain text
-#: ../E/pow.txt:9
+#: ../E/destroy.txt:8
#, no-wrap
-msgid "Exponent."
+msgid "Destroyer."
msgstr ""
#. type: Plain text
-#: ../E/pow.txt:12
+#: ../E/destroy.txt:11
#, no-wrap
-msgid "x to the y (x raised to the yth power)."
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by destroy().\n"
+"== 0 The operation of destroying of an object was started\n"
+"!= 0 The instruction could not be done (e.g. nothing to destroy)"
msgstr ""
#. type: \b; header
-#: ../E/sin.txt:1
+#: ../E/detect.txt:1
#, no-wrap
-msgid "Instruction sin"
-msgstr ""
-
-#. type: Source code
-#: ../E/sin.txt:3
-#, no-wrap
-msgid "sin ( angle );"
+msgid "Instruction detect"
msgstr ""
#. type: Plain text
-#: ../E/sin.txt:9
+#: ../E/detect.txt:2
#, no-wrap
-msgid "Sine of the angle."
+msgid "With the instruction detect();, you can look for objects like enemies, bots, buildings or raw materials, which are in front of the bot. It is a simpler version of radar();."
+msgstr ""
+
+#. type: Source code
+#: ../E/detect.txt:6
+#, no-wrap
+msgid "detect ( cat );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/detect.txt:8
+#, no-wrap
+msgid "Detects the nearest object of the specified category being in front of the bot. It is similar to the following instruction:"
+msgstr ""
+
+#. type: Source code
+#: ../E/detect.txt:9
+#, no-wrap
+msgid "radar(cat, 0, 45, 0, 20);"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: ../E/detect.txt:12 ../E/radar.txt:23
+#, no-wrap
+msgid "Category of the objects that should be detected. For example, when you are looking for an ant, write radar(AlienAnt). "
+msgstr ""
+
+#. type: Bullet: 'o'
+#: ../E/detect.txt:13
+#, no-wrap
+msgid "Array of categories of the objects that should be detected. For example, when you are looking only for grabbers:"
+msgstr ""
+
+#. type: Source code
+#: ../E/detect.txt:14
+#, no-wrap
+msgid ""
+"int bots[4];\n"
+"bots[0] = WheeledGrabber;\n"
+"bots[1] = TrackedGrabber;\n"
+"bots[2] = WingedGrabber;\n"
+"bots[3] = LeggedGrabber;\n"
+"object nearestGrabber = radar(bots);"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: ../E/detect.txt:21 ../E/search.txt:17
+#, no-wrap
+msgid "Keyword Any if you are looking for any object (including even plants and so on)."
+msgstr ""
+
+#. type: Plain text
+#: ../E/detect.txt:24
+#, no-wrap
+msgid ""
+"true if the object was found\n"
+"false if the object was not found"
msgstr ""
#. type: \b; header
-#: ../E/sqrt.txt:1
+#: ../E/factory.txt:1
#, no-wrap
-msgid "Instruction sqrt"
+msgid "Instruction factory"
msgstr ""
#. type: Source code
-#: ../E/sqrt.txt:3
+#: ../E/factory.txt:3
#, no-wrap
-msgid "sqrt ( value );"
+msgid "object.factory ( cat, program );"
msgstr ""
#. type: Plain text
-#: ../E/sqrt.txt:6
+#: ../E/factory.txt:5
#, no-wrap
-msgid "Non-negative number."
+msgid "Starts a construction of a bot of the given category and runs the specified program on it after the construction is finished."
msgstr ""
#. type: Plain text
-#: ../E/sqrt.txt:9
+#: ../E/factory.txt:8
#, no-wrap
-msgid "Square root of the value."
-msgstr ""
-
-#. type: \b; header
-#: ../E/tan.txt:1
-#, no-wrap
-msgid "Instruction tan"
-msgstr ""
-
-#. type: Source code
-#: ../E/tan.txt:3
-#, no-wrap
-msgid "tan ( angle );"
+msgid "BotFactory"
msgstr ""
#. type: Plain text
-#: ../E/tan.txt:9
+#: ../E/factory.txt:11
#, no-wrap
-msgid "Tangent of the angle."
-msgstr ""
-
-#. type: Plain text
-#: ../E/acos.txt:9
-#, no-wrap
-msgid "Arcus cosine (in degrees) of the value."
-msgstr ""
-
-#. type: Plain text
-#: ../E/asin.txt:9
-#, no-wrap
-msgid "Arcus sine (in degrees) of the value."
-msgstr ""
-
-#. type: Plain text
-#: ../E/atan.txt:9
-#, no-wrap
-msgid "Arcus tangent (in degrees) of the value."
-msgstr ""
-
-#. type: Plain text
-#: ../E/tan.txt:6
-#, no-wrap
-msgid "Angle in degrees (except multiples of 90)."
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:28
-#, no-wrap
-msgid "canbuild, buildingenabled, programming, types and categories."
-msgstr ""
-
-#. type: \b; header
-#: ../E/canbuild.txt:1
-#, no-wrap
-msgid "Instruction canbuild"
-msgstr ""
-
-#. type: Source code
-#: ../E/canbuild.txt:14
-#, no-wrap
-msgid "canbuild ( cat );"
+msgid "Category of the robot to construct."
msgstr ""
#. type: \t; header
-#: ../E/buildingenabled.txt:19 ../E/busy.txt:10 ../E/canbuild.txt:19 ../E/canresearch.txt:10 ../E/detect.txt:23 ../E/researched.txt:10
+#: ../E/factory.txt:13
#, no-wrap
-msgid "Return value: bool"
+msgid "program: string (default value: \"\")"
msgstr ""
#. type: Plain text
-#: ../E/canbuild.txt:20
+#: ../E/factory.txt:14
#, no-wrap
-msgid "true if the building can be built, false otherwise."
+msgid "Program that will be run on the bot after factory finishes the construction. This can be either a publicfunction, a filename or just a raw source code."
msgstr ""
#. type: Plain text
-#: ../E/canbuild.txt:23
-#, no-wrap
-msgid "build, buildingenabled, programming, types and categories."
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:20 ../E/buildingenabled.txt:17 ../E/canbuild.txt:17
-#, no-wrap
-msgid "Category of a building."
-msgstr ""
-
-#. type: \b; header
-#: ../E/buildingenabled.txt:1
-#, no-wrap
-msgid "Instruction buildingenabled"
-msgstr ""
-
-#. type: Plain text
-#: ../E/buildingenabled.txt:2
-#, no-wrap
-msgid "The instruction buildingenabled(); lets you know if a building of the given category can be built in the level."
-msgstr ""
-
-#. type: Source code
-#: ../E/buildingenabled.txt:7
+#: ../E/factory.txt:17
#, no-wrap
msgid ""
-" if (buildingenabled(BotFactory))\n"
-" {\n"
-" \tbuild(BotFactory);\n"
-" }"
-msgstr ""
-
-#. type: Source code
-#: ../E/buildingenabled.txt:14
-#, no-wrap
-msgid "buildingenabled ( cat );"
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by factory().\n"
+"== 0 The construction successfully started\n"
+"!= 0 The construction could not be started (e.g. no Titanium in the factory, the bot is not researched)"
msgstr ""
#. type: Plain text
-#: ../E/buildingenabled.txt:20
+#: ../E/factory.txt:22
#, no-wrap
-msgid "true if the building can be built in the level even if required research has not been done, false otherwise."
-msgstr ""
-
-#. type: Plain text
-#: ../E/buildingenabled.txt:23
-#, no-wrap
-msgid "build, canbuild, ResearchCenter, programming, types and categories."
-msgstr ""
-
-#. type: Source code
-#: ../E/canbuild.txt:7
-#, no-wrap
-msgid ""
-" if (canbuild(BotFactory))\n"
-" {\n"
-" \tbuild(BotFactory);\n"
-" }"
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:2
-#, no-wrap
-msgid "The instruction build(); instructs the bot to build a building of the given category. Currently works for Grabbers, Me and Tech."
-msgstr ""
-
-#. type: Plain text
-#: ../E/buildingenabled.txt:5
-#, no-wrap
-msgid "It is similar to the canbuild(); instruction. However, it does not check if a required research has been done."
-msgstr ""
-
-#. type: Plain text
-#: ../E/canbuild.txt:2
-#, no-wrap
-msgid "The instruction canbuild(); lets you know if Grabbers, Me or Tech can build a building of the given category. "
-msgstr ""
-
-#. type: Plain text
-#: ../E/canbuild.txt:5
-#, no-wrap
-msgid "It helps to prevent errors in programs using the build(); instruction. Here is an example:"
+msgid "researched, wait, programming, types and categories."
msgstr ""
#. type: \b; header
-#: ../E/atan2.txt:1
+#: ../E/flatspace.txt:1
#, no-wrap
-msgid "Instruction atan2"
+msgid "Instruction flatspace"
msgstr ""
#. type: Source code
-#: ../E/atan2.txt:3
+#: ../E/flatspace.txt:3
#, no-wrap
-msgid "atan2 ( y, x );"
+msgid "flatspace ( center, flatmin, rmin, rmax, dist );"
msgstr ""
#. type: Plain text
-#: ../E/atan2.txt:14
+#: ../E/flatspace.txt:5
#, no-wrap
-msgid "Arcus tangent (in degrees) of y/x."
+msgid "Determines the position of the nearest free space with at least flatmin of flat ground around a given position. Works similar to space();. Useful for finding a place for a building."
+msgstr ""
+
+#. type: \t; header
+#: ../E/flatspace.txt:10
+#, no-wrap
+msgid "flatmin: float"
msgstr ""
#. type: Plain text
-#: ../E/atan2.txt:5
+#: ../E/flatspace.txt:11
#, no-wrap
-msgid "The purpose of using two arguments instead of one is to gather information on the signs of the inputs in order to return the appropriate quadrant of the computed angle, which is not possible for the single-argument atan(); function. For example, consider a point (-1, -1): atan(-1/-1); is 45.00 degrees, whereas atan2(-1, -1); is -135.00 degrees, which is obviously more correct in this case."
-msgstr ""
-
-#. type: \b; header
-#: ../E/ceil.txt:1
-#, no-wrap
-msgid "Instruction ceil"
-msgstr ""
-
-#. type: Source code
-#: ../E/ceil.txt:3
-#, no-wrap
-msgid "ceil ( value );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/floor.txt:4
-#, no-wrap
-msgid "Rounds down a number."
-msgstr ""
-
-#. type: Plain text
-#: ../E/ceil.txt:10
-#, no-wrap
-msgid "Ceiling of the value, i.e. the smallest integer not less than value. For example, ceil(2.1) is 3.0."
-msgstr ""
-
-#. type: Plain text
-#: ../E/ceil.txt:13 ../E/floor.txt:13 ../E/trunc.txt:13
-#, no-wrap
-msgid "round, programming, types and expressions."
+msgid "Minimum radius of flat ground around the desired position."
msgstr ""
#. type: \b; header
@@ -5546,9 +5950,9 @@ msgid "floor ( value );"
msgstr ""
#. type: Plain text
-#: ../E/ceil.txt:4
+#: ../E/floor.txt:4
#, no-wrap
-msgid "Rounds up a number."
+msgid "Rounds down a number."
msgstr ""
#. type: Plain text
@@ -5557,70 +5961,12 @@ msgstr ""
msgid "Floor of the value, i.e. the largest integer not greater than value. For example, floor(2.9) is 2.00."
msgstr ""
-#. type: \b; header
-#: ../E/round.txt:1
-#, no-wrap
-msgid "Instruction round"
-msgstr ""
-
-#. type: Source code
-#: ../E/round.txt:3
-#, no-wrap
-msgid "round ( value );"
-msgstr ""
-
#. type: Plain text
-#: ../E/round.txt:4
+#: ../E/for.txt:19
#, no-wrap
-msgid "Rounds a number."
-msgstr ""
-
-#. type: Plain text
-#: ../E/round.txt:10
-#, no-wrap
-msgid "Rounded value. For example, round(2.5) is 3.0, whereas round(2.4) is 2.0."
-msgstr ""
-
-#. type: \b; header
-#: ../E/trunc.txt:1
-#, no-wrap
-msgid "Instruction trunc"
-msgstr ""
-
-#. type: Source code
-#: ../E/trunc.txt:3
-#, no-wrap
-msgid "trunc ( value );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/trunc.txt:10
-#, no-wrap
-msgid "Truncated value. For example, trunc(-2.5) is -2.00."
-msgstr ""
-
-#. type: Plain text
-#: ../E/round.txt:13
-#, no-wrap
-msgid "trunc, floor, ceil, programming, types and expressions."
-msgstr ""
-
-#. type: Plain text
-#: ../E/trunc.txt:4
-#, no-wrap
-msgid "Truncation is a method of approximating a decimal number by dropping all decimal places past a certain point without rounding. For positive numbers, it works like the floor(); function, and for negative numbers, it works like the ceil(); function. It can be said that it rounds towards zero."
-msgstr ""
-
-#. type: Plain text
-#: ../E/aim.txt:16
-#, no-wrap
-msgid "Angle in degrees of the gun relative to the robot. A positive value orients the gun to the right. The angle must range from -40 to +40 degrees for all shooters."
-msgstr ""
-
-#. type: \t; header
-#: ../E/aim.txt:15
-#, no-wrap
-msgid "x: float (default value: 0)"
+msgid ""
+"Example: count from 1 to 4\n"
+"for ( i = 1 ; i <= 4 ; i++ )"
msgstr ""
#. type: Plain text
@@ -5653,6 +5999,12 @@ msgid ""
"}"
msgstr ""
+#. type: Plain text
+#: ../E/function.txt:14
+#, no-wrap
+msgid "Nothing but a name can be changed in the main function. The keyword extern distinguish the main function from others."
+msgstr ""
+
#. type: Plain text
#: ../E/function.txt:17
#, no-wrap
@@ -5701,12 +6053,34 @@ msgid ""
"}"
msgstr ""
+#. type: Plain text
+#: ../E/function.txt:47
+#, no-wrap
+msgid "Now the program is much easier to read. It is a good practice to split the program into several functions with self-describing names."
+msgstr ""
+
#. type: \b; header
#: ../E/function.txt:49
#, no-wrap
msgid "Syntax"
msgstr ""
+#. type: Source code
+#: ../E/function.txt:51
+#, no-wrap
+msgid ""
+"result_type FunctionName(optional_parameters)\n"
+"{\n"
+"\tbody\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: ../E/function.txt:56
+#, no-wrap
+msgid "Result type should be void if the function does not give any. Body is just a set of instructions. Function name must be created with the exact same rules applied to variables."
+msgstr ""
+
#. type: \t; header
#: ../E/function.txt:58
#, no-wrap
@@ -5719,6 +6093,18 @@ msgstr ""
msgid "A function can have parameters:"
msgstr ""
+#. type: Source code
+#: ../E/function.txt:61
+#, no-wrap
+msgid ""
+"void Example(int a, float x, string s)\n"
+"{\n"
+"\tmessage(a);\n"
+"\tmessage(x);\n"
+"\tmessage(s);\n"
+"}"
+msgstr ""
+
#. type: Plain text
#: ../E/function.txt:68
#, no-wrap
@@ -5834,34 +6220,6 @@ msgstr ""
msgid "Declaring a function as a part of the object namespace gives it access to thispointer, in other words, to all available properties of the robot which the program is run on."
msgstr ""
-#. type: Plain text
-#: ../E/function.txt:47
-#, no-wrap
-msgid "Now the program is much easier to read. It is a good practice to split the program into several functions with self-describing names."
-msgstr ""
-
-#. type: Source code
-#: ../E/function.txt:51
-#, no-wrap
-msgid ""
-"result_type FunctionName(optional_parameters)\n"
-"{\n"
-"\tbody\n"
-"}"
-msgstr ""
-
-#. type: Source code
-#: ../E/function.txt:61
-#, no-wrap
-msgid ""
-"void Example(int a, float x, string s)\n"
-"{\n"
-"\tmessage(a);\n"
-"\tmessage(x);\n"
-"\tmessage(s);\n"
-"}"
-msgstr ""
-
#. type: Source code
#: ../E/function.txt:123
#, no-wrap
@@ -5873,78 +6231,352 @@ msgid ""
msgstr ""
#. type: Plain text
-#: ../E/function.txt:56
+#: ../E/object.txt:2
#, no-wrap
-msgid "Result type should be void if the function does not give any. Body is just a set of instructions. Function name must be created with the exact same rules applied to variables."
+msgid "Use this type for variables that contain the characteristics of an object, be it a bot, a building, some raw material, an enemy, etc. Here are all properties of an object: "
msgstr ""
-#. type: \b; header
-#: ../E/factory.txt:1
+#. type: Plain text
+#: ../E/object.txt:4
#, no-wrap
-msgid "Instruction factory"
+msgid ""
+"int object.category Category of the object\n"
+"point object.position Position of the object (x,y,z)\n"
+"float object.orientation Orientation of the object (0..360)\n"
+"float object.pitch Forward/backward angle of the object\n"
+"float object.roll Right/left angle of the object \n"
+"float object.energyLevel Energy level (0..1)\n"
+"float object.shieldLevel Shield level (0..1)\n"
+"float object.temperature Jet temperature (0..1)\n"
+"float object.altitude Altitude above ground\n"
+"float object.lifeTime Lifetime of the object\n"
+"object object.energyCell Power cell on the bot\n"
+"object object.load Object carried by the bot\n"
+"int object.team The object's team (see code battles)\n"
+"point object.velocity Velocity of the object"
+msgstr ""
+
+#. type: Plain text
+#: ../E/object.txt:19
+#, no-wrap
+msgid "Also, some objects have additional methods (instructions). See them in the main list in the \"Instructions specific for some objects\" section."
+msgstr ""
+
+#. type: Plain text
+#: ../E/object.txt:22
+#, no-wrap
+msgid "The category of an object allows you to know what it is, f. ex. what kind of bot, building, enemy, etc."
msgstr ""
#. type: Source code
-#: ../E/factory.txt:3
+#: ../E/object.txt:60
#, no-wrap
-msgid "object.factory ( cat, program );"
+msgid "team"
msgstr ""
#. type: Plain text
-#: ../E/factory.txt:5
+#: ../E/object.txt:61
#, no-wrap
-msgid "Starts a construction of a bot of the given category and runs the specified program on it after the construction is finished."
+msgid "The bot's team. Used in code battles. If the object has no team assigned (e.g. in no team-based levels, the object being a resource), this is equal to 0."
+msgstr ""
+
+#. type: Source code
+#: ../E/object.txt:63
+#, no-wrap
+msgid "velocity"
+msgstr ""
+
+#. type: Plain text
+#: ../E/object.txt:64
+#, no-wrap
+msgid "Current velocity of the object. Should be treated as a three-dimensional vector."
+msgstr ""
+
+#. type: \b; header
+#: ../E/pencolor.txt:1
+#, no-wrap
+msgid "Instruction pencolor"
+msgstr ""
+
+#. type: Source code
+#: ../E/pencolor.txt:3
+#, no-wrap
+msgid "pencolor ( color );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/pencolor.txt:4
+#, no-wrap
+msgid "The instruction pencolor(); instructs the bot to change the color of the pencil."
msgstr ""
#. type: \t; header
-#: ../E/busy.txt:7 ../E/destroy.txt:7 ../E/factory.txt:7 ../E/research.txt:7 ../E/takeoff.txt:7
+#: ../E/pencolor.txt:6 ../E/pendown.txt:6
#, no-wrap
-msgid "object"
+msgid "color: int (default value: Black)"
msgstr ""
#. type: Plain text
-#: ../E/factory.txt:8
+#: ../E/pencolor.txt:7 ../E/pendown.txt:7
#, no-wrap
-msgid "BotFactory"
+msgid "Color name."
msgstr ""
#. type: Plain text
-#: ../E/factory.txt:11
-#, no-wrap
-msgid "Category of the robot to construct."
-msgstr ""
-
-#. type: \t; header
-#: ../E/factory.txt:13
-#, no-wrap
-msgid "program: string (default value: \"\")"
-msgstr ""
-
-#. type: Plain text
-#: ../E/factory.txt:14
-#, no-wrap
-msgid "Program that will be run on the bot after factory finishes the construction. This can be either a publicfunction, a filename or just a raw source code."
-msgstr ""
-
-#. type: Plain text
-#: ../E/category.txt:6
-#, no-wrap
-msgid "Below are the different categories available:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/factory.txt:17
+#: ../E/pencolor.txt:10
#, no-wrap
msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by factory().\n"
-"== 0 The construction successfully started\n"
-"!= 0 The construction could not be started (e.g. no Titanium in the factory, the bot is not researched)"
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by pencolor();.\n"
+"== 0 The color was changed\n"
+"!= 0 The instruction did not work"
+msgstr ""
+
+#. type: \b; header
+#: ../E/pendown.txt:1
+#, no-wrap
+msgid "Instruction pendown"
+msgstr ""
+
+#. type: Source code
+#: ../E/pendown.txt:3
+#, no-wrap
+msgid "pendown ( color, width );"
msgstr ""
#. type: Plain text
-#: ../E/factory.txt:22
+#: ../E/pendown.txt:4
#, no-wrap
-msgid "researched, wait, programming, types and categories."
+msgid "The instruction pendown(); instructs the bot to have the pen down, so it starts drawing."
+msgstr ""
+
+#. type: \t; header
+#: ../E/pendown.txt:9
+#, no-wrap
+msgid "width: float (default value: 0.5)"
+msgstr ""
+
+#. type: Plain text
+#: ../E/pendown.txt:10 ../E/penwidth.txt:7
+#, no-wrap
+msgid "Width of the pen. The width cannot be higher than 1.0 and cannot be lower than 0.0. Passing a higher value will result in the width being the highest possible and passing a lower value will result in the width being the lowest possible."
+msgstr ""
+
+#. type: Plain text
+#: ../E/pendown.txt:13
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by pendown();.\n"
+"== 0 The pen is now down\n"
+"!= 0 The instruction did not work"
+msgstr ""
+
+#. type: \b; header
+#: ../E/penup.txt:1
+#, no-wrap
+msgid "Instruction penup"
+msgstr ""
+
+#. type: Source code
+#: ../E/penup.txt:3
+#, no-wrap
+msgid "penup ( );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/penup.txt:4
+#, no-wrap
+msgid "The instruction penup(); instructs the bot to have the pen up, so it stops drawing. The pen is up by default, so it should be used only after using pendown."
+msgstr ""
+
+#. type: Plain text
+#: ../E/penup.txt:7
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by penup();.\n"
+"== 0 The pen is now up\n"
+"!= 0 The instruction did not work"
+msgstr ""
+
+#. type: \b; header
+#: ../E/penwidth.txt:1
+#, no-wrap
+msgid "Instruction penwidth"
+msgstr ""
+
+#. type: Source code
+#: ../E/penwidth.txt:3
+#, no-wrap
+msgid "penwidth ( color );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/penwidth.txt:4
+#, no-wrap
+msgid "The instruction penwidth(); instructs the bot to change the width of the pencil."
+msgstr ""
+
+#. type: \t; header
+#: ../E/penwidth.txt:6
+#, no-wrap
+msgid "width: float"
+msgstr ""
+
+#. type: Plain text
+#: ../E/penwidth.txt:10
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by penwidth();.\n"
+"== 0 The width was changed\n"
+"!= 0 The instruction did not work"
+msgstr ""
+
+#. type: \b; header
+#: ../E/pow.txt:1
+#, no-wrap
+msgid "Instruction pow"
+msgstr ""
+
+#. type: Source code
+#: ../E/pow.txt:3
+#, no-wrap
+msgid "pow ( x, y );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/pow.txt:6
+#, no-wrap
+msgid "Base."
+msgstr ""
+
+#. type: Plain text
+#: ../E/pow.txt:9
+#, no-wrap
+msgid "Exponent."
+msgstr ""
+
+#. type: Plain text
+#: ../E/pow.txt:12
+#, no-wrap
+msgid "x to the y (x raised to the yth power)."
+msgstr ""
+
+#. type: Source code
+#: ../E/radar.txt:15
+#, no-wrap
+msgid "radar ( cat, angle, focus, min, max, sens, filter );"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: ../E/radar.txt:24
+#, no-wrap
+msgid "Array of categories of the objects that should be detected. For example, when you are looking only for grabbers:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:25 ../E/search.txt:10
+#, no-wrap
+msgid "int bots[4];"
+msgstr ""
+
+#. type: Source code
+#: ../E/radar.txt:26
+#, no-wrap
+msgid ""
+"bots[0] = WheeledGrabber;\n"
+"bots[1] = TrackedGrabber;\n"
+"bots[2] = WingedGrabber;\n"
+"bots[3] = LeggedGrabber;\n"
+"object nearestGrabber = radar(bots);"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: ../E/radar.txt:31
+#, no-wrap
+msgid "Keyword Any if you are looking for any object (including even plants and so on). Filters may be useful to use with this keyword."
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:33
+#, no-wrap
+msgid "angle: float (default value: 0)"
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:39
+#, no-wrap
+msgid "focus: float (default value: 360)"
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:42
+#, no-wrap
+msgid "min: float (default value: 0)"
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:45
+#, no-wrap
+msgid "max: float (default value: 1000)"
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:48
+#, no-wrap
+msgid "sens: float (default value: 1)"
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:51
+#, no-wrap
+msgid "filter: int (default value: FilterNone)"
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:52
+#, no-wrap
+msgid "Determines which type of objects should be detected. Especially useful in use with an array or Any. The following filters are available:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:54
+#, no-wrap
+msgid ""
+"FilterNoneDetects everything (default)\n"
+"FilterOnlyLandingDetects only objects being on the ground\n"
+"FilterOnlyFlyingDetects only objects not being on the ground\n"
+"FilterFriendlyDetects only allies (objects in the same team)\n"
+"FilterEnemyDetects only enemies (objects in an other team except neutral)\n"
+"FilterNeutralDetects only neutral objects (e.g. resources)"
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:61
+#, no-wrap
+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. Attention: you should use FilterNeutral instead of 0 or else it will not work."
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:63
+#, no-wrap
+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/rand.txt:1
+#, no-wrap
+msgid "Instruction rand"
+msgstr ""
+
+#. type: Source code
+#: ../E/rand.txt:3
+#, no-wrap
+msgid "rand ( );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/rand.txt:6
+#, no-wrap
+msgid "Pseudorandom number between 0 and 1 (including 0, but excluding 1)."
msgstr ""
#. type: \b; header
@@ -5959,18 +6591,71 @@ msgstr ""
msgid "object.research ( type );"
msgstr ""
+#. type: Plain text
+#: ../E/research.txt:5
+#, no-wrap
+msgid "Starts a research of the given type."
+msgstr ""
+
+#. type: Plain text
+#: ../E/research.txt:8
+#, no-wrap
+msgid "ResearchCenter or AutoLab."
+msgstr ""
+
#. type: \t; header
#: ../E/research.txt:10
#, no-wrap
msgid "type: int"
msgstr ""
+#. type: Plain text
+#: ../E/research.txt:14
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by research().\n"
+"== 0 The research successfully started\n"
+"!= 0 The research could not be started (e.g. the research is disabled in the level, no power cell)"
+msgstr ""
+
#. type: Plain text
#: ../E/research.txt:19
#, no-wrap
msgid "Research names, canresearch, researched, programming, types and categories."
msgstr ""
+#. type: \b; header
+#: ../E/researched.txt:1
+#, no-wrap
+msgid "Instruction researched"
+msgstr ""
+
+#. type: Source code
+#: ../E/researched.txt:3
+#, no-wrap
+msgid "researched ( research );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/researched.txt:5
+#, no-wrap
+msgid "Checks if the research was done in the level."
+msgstr ""
+
+#. type: Plain text
+#: ../E/researched.txt:11
+#, no-wrap
+msgid ""
+"true if the research was done\n"
+"false if the research was not done"
+msgstr ""
+
+#. type: Plain text
+#: ../E/researched.txt:15
+#, no-wrap
+msgid "Research names, research, canresearch, canbuildprogramming, types and categories."
+msgstr ""
+
#. type: \b; header
#: ../E/researches.txt:1
#, no-wrap
@@ -5989,167 +6674,6 @@ msgstr ""
msgid "In a program, research names are always displayed on a red background. If a research name is not highlighted in red, it is misspelled. Caps and lower cases should be kept as is."
msgstr ""
-#. type: Plain text
-#: ../E/researches.txt:28
-#, no-wrap
-msgid "CBOT Language, variables and categories."
-msgstr ""
-
-#. type: \b; header
-#: ../E/busy.txt:1
-#, no-wrap
-msgid "Instruction busy"
-msgstr ""
-
-#. type: Source code
-#: ../E/busy.txt:3
-#, no-wrap
-msgid "object.busy ( );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/busy.txt:5
-#, no-wrap
-msgid "Checks if the object is busy."
-msgstr ""
-
-#. type: Plain text
-#: ../E/busy.txt:8
-#, no-wrap
-msgid "Any building which can take some action (e.g. Converter)."
-msgstr ""
-
-#. type: Plain text
-#: ../E/busy.txt:11
-#, no-wrap
-msgid ""
-"true if the object is doing something (e.g. converting)\n"
-"false if the object is not doing anything"
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:2
-#, no-wrap
-msgid "Use this type for variables that contain the characteristics of an object, be it a bot, a building, some raw material, an enemy, etc. Here are all properties of an object: "
-msgstr ""
-
-#. type: \b; header
-#: ../E/takeoff.txt:1
-#, no-wrap
-msgid "Instruction takeoff"
-msgstr ""
-
-#. type: Source code
-#: ../E/takeoff.txt:3
-#, no-wrap
-msgid "object.takeoff ( );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/takeoff.txt:5
-#, no-wrap
-msgid "Takes off the spaceship."
-msgstr ""
-
-#. type: Plain text
-#: ../E/takeoff.txt:8
-#, no-wrap
-msgid "SpaceShip"
-msgstr ""
-
-#. type: Source code
-#: ../E/object.txt:60
-#, no-wrap
-msgid "team"
-msgstr ""
-
-#. type: Source code
-#: ../E/object.txt:63
-#, no-wrap
-msgid "velocity"
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:64
-#, no-wrap
-msgid "Current velocity of the object. Should be treated as a three-dimensional vector."
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:19
-#, no-wrap
-msgid "Also, some objects have additional methods (instructions). See them in the main list in the \"Instructions specific for some objects\" section."
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:22
-#, no-wrap
-msgid "The category of an object allows you to know what it is, f. ex. what kind of bot, building, enemy, etc."
-msgstr ""
-
-#. type: Plain text
-#: ../E/research.txt:8
-#, no-wrap
-msgid "ResearchCenter or AutoLab."
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:8
-#, no-wrap
-msgid "Buildings:"
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:31
-#, no-wrap
-msgid "Portable Objects:"
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:44
-#, no-wrap
-msgid "Robots:"
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:76
-#, no-wrap
-msgid "Enemies:"
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:86
-#, no-wrap
-msgid "Miscellaneous:"
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:95
-#, no-wrap
-msgid "Flags and Other Indicators:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/research.txt:5
-#, no-wrap
-msgid "Starts a research of the given type."
-msgstr ""
-
-#. type: Plain text
-#: ../E/canresearch.txt:8 ../E/research.txt:11 ../E/researched.txt:8
-#, no-wrap
-msgid "Research name."
-msgstr ""
-
-#. type: Plain text
-#: ../E/research.txt:14
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by research().\n"
-"== 0 The research successfully started\n"
-"!= 0 The research could not be started (e.g. the research is disabled in the level, no power cell)"
-msgstr ""
-
#. type: Plain text
#: ../E/researches.txt:6
#, no-wrap
@@ -6206,360 +6730,39 @@ msgid ""
msgstr ""
#. type: Plain text
-#: ../E/takeoff.txt:11
+#: ../E/researches.txt:28
#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by takeoff().\n"
-"== 0 Spaceship takes off\n"
-"!= 0 Spaceship could not take off (e.g. mission is not finished yet)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:61
-#, no-wrap
-msgid "The bot's team. Used in code battles. If the object has no team assigned (e.g. in no team-based levels, the object being a resource), this is equal to 0."
+msgid "CBOT Language, variables and categories."
msgstr ""
#. type: \b; header
-#: ../E/colors.txt:1
+#: ../E/round.txt:1
#, no-wrap
-msgid "Value Colors"
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:2
-#, no-wrap
-msgid "Color names are used to define a specific color to use. They can be passed to functions like pendown or pencolor."
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:4
-#, no-wrap
-msgid "In a program, colors are always displayed on a red background. If a color isn't highlighted in red, it is misspelled. Caps and lower cases should be kept as is."
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:6
-#, no-wrap
-msgid "Below are the different colors available:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:8
-#, no-wrap
-msgid ""
-"White\n"
-"Black\n"
-"Gray\n"
-"LightGray\n"
-"Red\n"
-"Pink\n"
-"Purple\n"
-"Orange\n"
-"Yellow\n"
-"Beige\n"
-"Brown\n"
-"Skin\n"
-"Green\n"
-"LightGreen\n"
-"Blue\n"
-"LightBlue"
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:25
-#, no-wrap
-msgid "You can also draw colored symbols:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:27
-#, no-wrap
-msgid ""
-"BlackArrow\n"
-"RedArrow"
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:4
-#, no-wrap
-msgid ""
-"int object.category Category of the object\n"
-"point object.position Position of the object (x,y,z)\n"
-"float object.orientation Orientation of the object (0..360)\n"
-"float object.pitch Forward/backward angle of the object\n"
-"float object.roll Right/left angle of the object \n"
-"float object.energyLevel Energy level (0..1)\n"
-"float object.shieldLevel Shield level (0..1)\n"
-"float object.temperature Jet temperature (0..1)\n"
-"float object.altitude Altitude above ground\n"
-"float object.lifeTime Lifetime of the object\n"
-"object object.energyCell Power cell on the bot\n"
-"object object.load Object carried by the bot\n"
-"int object.team The object's team (see code battles)\n"
-"point object.velocity Velocity of the object"
-msgstr ""
-
-#. type: \b; header
-#: ../E/pencolor.txt:1
-#, no-wrap
-msgid "Instruction pencolor"
+msgid "Instruction round"
msgstr ""
#. type: Source code
-#: ../E/pencolor.txt:3
+#: ../E/round.txt:3
#, no-wrap
-msgid "pencolor ( color );"
-msgstr ""
-
-#. type: \t; header
-#: ../E/pencolor.txt:6 ../E/pendown.txt:6
-#, no-wrap
-msgid "color: int (default value: Black)"
+msgid "round ( value );"
msgstr ""
#. type: Plain text
-#: ../E/pencolor.txt:7 ../E/pendown.txt:7
+#: ../E/round.txt:4
#, no-wrap
-msgid "Color name."
-msgstr ""
-
-#. type: \b; header
-#: ../E/pendown.txt:1
-#, no-wrap
-msgid "Instruction pendown"
-msgstr ""
-
-#. type: Source code
-#: ../E/pendown.txt:3
-#, no-wrap
-msgid "pendown ( color, width );"
-msgstr ""
-
-#. type: \t; header
-#: ../E/pendown.txt:9
-#, no-wrap
-msgid "width: float (default value: 0.5)"
+msgid "Rounds a number."
msgstr ""
#. type: Plain text
-#: ../E/pendown.txt:10 ../E/penwidth.txt:7
+#: ../E/round.txt:10
#, no-wrap
-msgid "Width of the pen. The width cannot be higher than 1.0 and cannot be lower than 0.0. Passing a higher value will result in the width being the highest possible and passing a lower value will result in the width being the lowest possible."
+msgid "Rounded value. For example, round(2.5) is 3.0, whereas round(2.4) is 2.0."
msgstr ""
#. type: Plain text
-#: ../E/pendown.txt:13
+#: ../E/round.txt:13
#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by pendown();.\n"
-"== 0 The pen is now down\n"
-"!= 0 The instruction did not work"
-msgstr ""
-
-#. type: Plain text
-#: ../E/pencolor.txt:4
-#, no-wrap
-msgid "The instruction pencolor(); instructs the bot to change the color of the pencil."
-msgstr ""
-
-#. type: Plain text
-#: ../E/pencolor.txt:10
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by pencolor();.\n"
-"== 0 The color was changed\n"
-"!= 0 The instruction did not work"
-msgstr ""
-
-#. type: \b; header
-#: ../E/penup.txt:1
-#, no-wrap
-msgid "Instruction penup"
-msgstr ""
-
-#. type: Source code
-#: ../E/penup.txt:3
-#, no-wrap
-msgid "penup ( );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/penup.txt:7
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by penup();.\n"
-"== 0 The pen is now up\n"
-"!= 0 The instruction did not work"
-msgstr ""
-
-#. type: \b; header
-#: ../E/penwidth.txt:1
-#, no-wrap
-msgid "Instruction penwidth"
-msgstr ""
-
-#. type: Source code
-#: ../E/penwidth.txt:3
-#, no-wrap
-msgid "penwidth ( color );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/penwidth.txt:4
-#, no-wrap
-msgid "The instruction penwidth(); instructs the bot to change the width of the pencil."
-msgstr ""
-
-#. type: \t; header
-#: ../E/penwidth.txt:6
-#, no-wrap
-msgid "width: float"
-msgstr ""
-
-#. type: Plain text
-#: ../E/penwidth.txt:10
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by penwidth();.\n"
-"== 0 The width was changed\n"
-"!= 0 The instruction did not work"
-msgstr ""
-
-#. type: Plain text
-#: ../E/pendown.txt:4
-#, no-wrap
-msgid "The instruction pendown(); instructs the bot to have the pen down, so it starts drawing."
-msgstr ""
-
-#. type: Plain text
-#: ../E/penup.txt:4
-#, no-wrap
-msgid "The instruction penup(); instructs the bot to have the pen up, so it stops drawing. The pen is up by default, so it should be used only after using pendown."
-msgstr ""
-
-#. type: \b; header
-#: ../E/canresearch.txt:1
-#, no-wrap
-msgid "Instruction canresearch"
-msgstr ""
-
-#. type: Source code
-#: ../E/canresearch.txt:3
-#, no-wrap
-msgid "canresearch ( research );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/canresearch.txt:5
-#, no-wrap
-msgid "Checks if the research can be done in the level."
-msgstr ""
-
-#. type: \t; header
-#: ../E/canresearch.txt:7 ../E/researched.txt:7
-#, no-wrap
-msgid "research: int"
-msgstr ""
-
-#. type: Plain text
-#: ../E/canresearch.txt:11
-#, no-wrap
-msgid ""
-"true if the research can be done (even if it is already done, to check that, use the researched instruction)\n"
-"false if the research cannot be done"
-msgstr ""
-
-#. type: Plain text
-#: ../E/canresearch.txt:15
-#, no-wrap
-msgid "Research names, research, researched, programming, types and categories."
-msgstr ""
-
-#. type: \b; header
-#: ../E/researched.txt:1
-#, no-wrap
-msgid "Instruction researched"
-msgstr ""
-
-#. type: Source code
-#: ../E/researched.txt:3
-#, no-wrap
-msgid "researched ( research );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/researched.txt:5
-#, no-wrap
-msgid "Checks if the research was done in the level."
-msgstr ""
-
-#. type: Plain text
-#: ../E/researched.txt:11
-#, no-wrap
-msgid ""
-"true if the research was done\n"
-"false if the research was not done"
-msgstr ""
-
-#. type: Plain text
-#: ../E/researched.txt:15
-#, no-wrap
-msgid "Research names, research, canresearch, canbuildprogramming, types and categories."
-msgstr ""
-
-#. type: \b; header
-#: ../E/flatspace.txt:1
-#, no-wrap
-msgid "Instruction flatspace"
-msgstr ""
-
-#. type: Source code
-#: ../E/flatspace.txt:3
-#, no-wrap
-msgid "flatspace ( center, flatmin, rmin, rmax, dist );"
-msgstr ""
-
-#. type: \t; header
-#: ../E/flatspace.txt:10
-#, no-wrap
-msgid "flatmin: float"
-msgstr ""
-
-#. type: Plain text
-#: ../E/flatspace.txt:11
-#, no-wrap
-msgid "Minimum radius of flat ground around the desired position."
-msgstr ""
-
-#. type: Plain text
-#: ../E/flatspace.txt:5
-#, no-wrap
-msgid "Determines the position of the nearest free space with at least flatmin of flat ground around a given position. Works similar to space();. Useful for finding a place for a building."
-msgstr ""
-
-#. type: Plain text
-#: ../E/function.txt:14
-#, no-wrap
-msgid "Nothing but a name can be changed in the main function. The keyword extern distinguish the main function from others."
-msgstr ""
-
-#. type: Bullet: 'o'
-#: ../E/radar.txt:24
-#, no-wrap
-msgid "Array of categories of the objects that should be detected. For example, when you are looking only for grabbers:"
-msgstr ""
-
-#. type: Bullet: 'o'
-#: ../E/detect.txt:12 ../E/radar.txt:23
-#, no-wrap
-msgid "Category of the objects that should be detected. For example, when you are looking for an ant, write radar(AlienAnt). "
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:25 ../E/search.txt:10
-#, no-wrap
-msgid "int bots[4];"
+msgid "trunc, floor, ceil, programming, types and expressions."
msgstr ""
#. type: Plain text
@@ -6599,67 +6802,45 @@ msgid "position: point (default value: destroy"
+msgid "Instruction sin"
msgstr ""
#. type: Source code
-#: ../E/destroy.txt:3
+#: ../E/sin.txt:3
#, no-wrap
-msgid "object.destroy ( );"
+msgid "sin ( angle );"
msgstr ""
#. type: Plain text
-#: ../E/destroy.txt:5
+#: ../E/sin.txt:9
#, no-wrap
-msgid "Destroys an object."
+msgid "Sine of the angle."
+msgstr ""
+
+#. type: \b; header
+#: ../E/sqrt.txt:1
+#, no-wrap
+msgid "Instruction sqrt"
+msgstr ""
+
+#. type: Source code
+#: ../E/sqrt.txt:3
+#, no-wrap
+msgid "sqrt ( value );"
msgstr ""
#. type: Plain text
-#: ../E/destroy.txt:8
+#: ../E/sqrt.txt:6
#, no-wrap
-msgid "Destroyer."
+msgid "Non-negative number."
msgstr ""
#. type: Plain text
-#: ../E/category.txt:10
+#: ../E/sqrt.txt:9
#, no-wrap
-msgid ""
-" HoustonMission Control\n"
-" SpaceShipSpaceship\n"
-" BotFactoryRobot Factory\n"
-" ResearchCenterResearch Center\n"
-" RadarStationRadar\n"
-" ExchangePostInformation Exchange Post\n"
-" RepairCenterRepair Center\n"
-" DefenseTowerDefense Tower\n"
-" AutoLabOrganic Matter Analyzer \n"
-" PowerStationPower Station\n"
-" PowerPlantPower Cell Factory\n"
-" NuclearPlantNuclear Plant\n"
-" ConverterTitanium Converter\n"
-" DerrickDerrick\n"
-" PowerCaptorParabolic Lightning Conductor\n"
-" VaultVault\n"
-" StartAreaStarting Pad\n"
-" GoalAreaFinishing Pad\n"
-" AlienNestAlien Nest"
-msgstr ""
-
-#. type: Plain text
-#: ../E/destroy.txt:11
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by destroy().\n"
-"== 0 The operation of destroying of an object was started\n"
-"!= 0 The instruction could not be done (e.g. nothing to destroy)"
-msgstr ""
-
-#. type: Bullet: 'o'
-#: ../E/detect.txt:21 ../E/search.txt:17
-#, no-wrap
-msgid "Keyword Any if you are looking for any object (including even plants and so on)."
+msgid "Square root of the value."
msgstr ""
#. type: \b; header
@@ -6674,6 +6855,18 @@ msgstr ""
msgid "With the instruction switch() {} you can execute a proper set of instructions (a case) basing on some value."
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: Source code
#: ../E/switch.txt:9
#, no-wrap
@@ -6736,6 +6929,12 @@ msgid ""
"}"
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: Source code
#: ../E/switch.txt:48
#, no-wrap
@@ -6750,24 +6949,6 @@ msgid ""
"}"
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
@@ -6785,276 +6966,95 @@ msgid ""
"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 ""
-#. type: \b; header
-#: ../E/detect.txt:1
-#, no-wrap
-msgid "Instruction detect"
-msgstr ""
-
-#. type: Source code
-#: ../E/detect.txt:6
-#, no-wrap
-msgid "detect ( cat );"
-msgstr ""
-
#. type: Plain text
-#: ../E/detect.txt:8
+#: ../E/switch.txt:68
#, no-wrap
-msgid "Detects the nearest object of the specified category being in front of the bot. It is similar to the following instruction:"
-msgstr ""
-
-#. type: Source code
-#: ../E/detect.txt:9
-#, no-wrap
-msgid "radar(cat, 0, 45, 0, 20);"
-msgstr ""
-
-#. type: Source code
-#: ../E/detect.txt:14
-#, no-wrap
-msgid ""
-"int bots[4];\n"
-"bots[0] = WheeledGrabber;\n"
-"bots[1] = TrackedGrabber;\n"
-"bots[2] = WingedGrabber;\n"
-"bots[3] = LeggedGrabber;\n"
-"object nearestGrabber = radar(bots);"
-msgstr ""
-
-#. type: Plain text
-#: ../E/detect.txt:24
-#, no-wrap
-msgid ""
-"true if the object was found\n"
-"false if the object was not found"
+msgid "Do not put a semicolon at the end of the switch ( ) { } instruction."
msgstr ""
#. type: \b; header
-#: ../E/radar.txt:1
+#: ../E/takeoff.txt:1
#, no-wrap
-msgid "Instruction radar"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:2
-#, no-wrap
-msgid "With the instruction radar(), you can look for objects like enemies, bots, buildings or raw materials."
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:5
-#, no-wrap
-msgid "Write in brackets the name of the object that you look for. Put the result in a variable of the typeobject. Here is an example that looks for the closest ant:"
+msgid "Instruction takeoff"
msgstr ""
#. type: Source code
-#: ../E/radar.txt:7
+#: ../E/takeoff.txt:3
+#, no-wrap
+msgid "object.takeoff ( );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/takeoff.txt:5
+#, no-wrap
+msgid "Takes off the spaceship."
+msgstr ""
+
+#. type: Plain text
+#: ../E/takeoff.txt:8
+#, no-wrap
+msgid "SpaceShip"
+msgstr ""
+
+#. type: Plain text
+#: ../E/takeoff.txt:11
#, no-wrap
msgid ""
-"// At the beginning of the program:\n"
-"object item; // variable declaration\n"
-"\n"
-"// Look for the closest ant\n"
-"item = radar(AlienAnt);"
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by takeoff().\n"
+"== 0 Spaceship takes off\n"
+"!= 0 Spaceship could not take off (e.g. mission is not finished yet)"
+msgstr ""
+
+#. type: \b; header
+#: ../E/tan.txt:1
+#, no-wrap
+msgid "Instruction tan"
msgstr ""
#. type: Source code
-#: ../E/radar.txt:15
+#: ../E/tan.txt:3
#, no-wrap
-msgid "radar ( cat, angle, focus, min, max, sens, filter );"
+msgid "tan ( angle );"
msgstr ""
#. type: Plain text
-#: ../E/radar.txt:17
+#: ../E/tan.txt:6
#, no-wrap
-msgid "Detects an object according to several parameters. "
-msgstr ""
-
-#. type: Image filename
-#: ../E/radar.txt:19
-#, no-wrap
-msgid "radar1"
+msgid "Angle in degrees (except multiples of 90)."
msgstr ""
#. type: Plain text
-#: ../E/radar.txt:20
+#: ../E/tan.txt:9
#, no-wrap
-msgid "Seen from above, the purple zone corresponds to the zone where objects will be detected. "
+msgid "Tangent of the angle."
+msgstr ""
+
+#. type: \b; header
+#: ../E/trunc.txt:1
+#, no-wrap
+msgid "Instruction trunc"
msgstr ""
#. type: Source code
-#: ../E/radar.txt:26
+#: ../E/trunc.txt:3
#, no-wrap
-msgid ""
-"bots[0] = WheeledGrabber;\n"
-"bots[1] = TrackedGrabber;\n"
-"bots[2] = WingedGrabber;\n"
-"bots[3] = LeggedGrabber;\n"
-"object nearestGrabber = radar(bots);"
-msgstr ""
-
-#. type: Bullet: 'o'
-#: ../E/radar.txt:31
-#, no-wrap
-msgid "Keyword Any if you are looking for any object (including even plants and so on). Filters may be useful to use with this keyword."
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:33
-#, no-wrap
-msgid "angle: float (default value: 0)"
+msgid "trunc ( value );"
msgstr ""
#. type: Plain text
-#: ../E/radar.txt:34
+#: ../E/trunc.txt:4
#, no-wrap
-msgid ""
-"Direction that the radar is facing, in degrees. \n"
-" 0 -> radar is facing straight ahead\n"
-"-90 -> radar is facing a quarter turn right\n"
-" 90 -> radar is facing a quarter turn left"
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:39
-#, no-wrap
-msgid "focus: float (default value: 360)"
+msgid "Truncation is a method of approximating a decimal number by dropping all decimal places past a certain point without rounding. For positive numbers, it works like the floor(); function, and for negative numbers, it works like the ceil(); function. It can be said that it rounds towards zero."
msgstr ""
#. type: Plain text
-#: ../E/radar.txt:40
+#: ../E/trunc.txt:10
#, no-wrap
-msgid "Opening angle of the radar, in degrees. "
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:42
-#, no-wrap
-msgid "min: float (default value: 0)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:43
-#, no-wrap
-msgid "Minimum detection distance, in meters. Objects that are closer than the minimum distance will not be detected. "
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:45
-#, no-wrap
-msgid "max: float (default value: 1000)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:46
-#, no-wrap
-msgid "Maximum detection distance, in meters. Objects that are farther away than the maximum distance will not be detected. "
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:48
-#, no-wrap
-msgid "sens: float (default value: 1)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:49
-#, no-wrap
-msgid "Determines which way the objects are detected. With value 1, returns the closest object found in the specified zone. With value -1, the farthest object in the zone will be returned. "
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:51
-#, no-wrap
-msgid "filter: int (default value: FilterNone)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:52
-#, no-wrap
-msgid "Determines which type of objects should be detected. Especially useful in use with an array or Any. The following filters are available:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:54
-#, no-wrap
-msgid ""
-"FilterNoneDetects everything (default)\n"
-"FilterOnlyLandingDetects only objects being on the ground\n"
-"FilterOnlyFlyingDetects only objects not being on the ground\n"
-"FilterFriendlyDetects only allies (objects in the same team)\n"
-"FilterEnemyDetects only enemies (objects in an other team except neutral)\n"
-"FilterNeutralDetects only neutral objects (e.g. resources)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:61
-#, no-wrap
-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. Attention: you should use FilterNeutral instead of 0 or else it will not work."
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:63
-#, no-wrap
-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: Plain text
-#: ../E/radar.txt:66
-#, no-wrap
-msgid "Returns the first object found that corresponds to the specified category in the specified zone. If no object was found, returns the value null."
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:69
-#, no-wrap
-msgid "You do not have to give all the parameters. Here are two examples of instructions that are equivalent: "
-msgstr ""
-
-#. type: Source code
-#: ../E/radar.txt:71
-#, no-wrap
-msgid ""
-"\tradar(Titanium, 0, 360, 0, 1000);\n"
-"\tradar(Titanium); // equivalent"
-msgstr ""
-
-#. type: Source code
-#: ../E/radar.txt:74
-#, no-wrap
-msgid ""
-"\tradar(Titanium, 0, 90, 0, 1000);\n"
-"\tradar(Titanium, 0, 90); // equivalent"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:77
-#, no-wrap
-msgid ""
-"When one or more parameters are not specified, the default values indicated above are used instead; only the first parameter is compulsory.\n"
-"Generally, only the first parameter is specified: f. ex. radar (AlienAnt) detects the closest ant, wherever it may be. "
-msgstr ""
-
-#. type: Plain text
-#: ../E/detect.txt:2
-#, no-wrap
-msgid "With the instruction detect();, you can look for objects like enemies, bots, buildings or raw materials, which are in front of the bot. It is a simpler version of radar();."
-msgstr ""
-
-#. type: Bullet: 'o'
-#: ../E/detect.txt:13
-#, no-wrap
-msgid "Array of categories of the objects that should be detected. For example, when you are looking only for grabbers:"
+msgid "Truncated value. For example, trunc(-2.5) is -2.00."
msgstr ""
diff --git a/help/cbot/po/de.po b/help/cbot/po/de.po
index 50eb6425..babac125 100644
--- a/help/cbot/po/de.po
+++ b/help/cbot/po/de.po
@@ -3554,18 +3554,148 @@ msgstr ""
"Klassen, private, Funktionen\n"
"Die CBOT-Sprache, Variablentypen und Kategorien."
+#. type: \b; header
+#: ../E/radar.txt:1
+#, no-wrap
+msgid "Instruction radar"
+msgstr "Anweisung radar"
+
+#. type: Plain text
+#: ../E/radar.txt:2
+#, no-wrap
+msgid "With the instruction radar(), you can look for objects like enemies, bots, buildings or raw materials."
+msgstr "Mit der Anweisung radar() können Sie mit dem bordeigenen Radar nach bestimmten Objekten wie feindlichen Wesen, Robotern, Gebäuden oder Rohmaterial suchen."
+
+#. type: Plain text
+#: ../E/radar.txt:5
+#, no-wrap
+msgid "Write in brackets the name of the object that you look for. Put the result in a variable of the typeobject. Here is an example that looks for the closest ant:"
+msgstr "Schreiben Sie in Klammern den Namen des Objekts, das Sie suchen. Geben Sie das Ergebnis in eine Variable vom Typobject. Hier ist ein Beispiel, das nach der nächsten Ameise sucht:"
+
+#. type: Source code
+#: ../E/radar.txt:7
+#, no-wrap
+msgid ""
+"// At the beginning of the program:\n"
+"object item; // variable declaration\n"
+"\n"
+"// Look for the closest ant\n"
+"item = radar(AlienAnt);"
+msgstr ""
+"// Am Anfang des Programms:\n"
+"object item; // Deklaration der Variable\n"
+"\n"
+"// sucht die nächste Ameise\n"
+"item = radar(AlienAnt);"
+
+#. type: Plain text
+#: ../E/radar.txt:17
+#, no-wrap
+msgid "Detects an object according to several parameters. "
+msgstr "Sucht nach einem Objekt gemäss verschiedenen Parametern."
+
+#. type: Image filename
+#: ../E/radar.txt:19
+#, no-wrap
+msgid "radar1"
+msgstr "radar1"
+
+#. type: Plain text
+#: ../E/radar.txt:20
+#, no-wrap
+msgid "Seen from above, the purple zone corresponds to the zone where objects will be detected. "
+msgstr "Von oben gesehen, entspricht die lila Zone der Zone, wo nach dem Objekt gesucht wird. "
+
#. type: \t; header
#: ../E/search.txt:7
#, no-wrap
msgid "category: int"
msgstr "kategorie: int"
+#. type: Plain text
+#: ../E/radar.txt:34
+#, no-wrap
+msgid ""
+"Direction that the radar is facing, in degrees. \n"
+" 0 -> radar is facing straight ahead\n"
+"-90 -> radar is facing a quarter turn right\n"
+" 90 -> radar is facing a quarter turn left"
+msgstr ""
+"Richtung, in die das Radar gedreht werden soll, in Grad.\n"
+" 0 -> das Radar schaut geradeaus\n"
+"-90 -> das Radar schaut im rechten Winkel nach rechts\n"
+" 90 -> das Radar schaut im rechten Winkel nach links"
+
+#. type: Plain text
+#: ../E/radar.txt:40
+#, no-wrap
+msgid "Opening angle of the radar, in degrees. "
+msgstr "Öffnungswinkel des Radars, in Grad."
+
+#. type: Plain text
+#: ../E/radar.txt:43
+#, no-wrap
+msgid "Minimum detection distance, in meters. Objects that are closer than the minimum distance will not be detected. "
+msgstr "Minimale Suchdistanz in Metern. Objekte, die näher als die minimale Distanz sind, werden nicht gefunden."
+
+#. type: Plain text
+#: ../E/radar.txt:46
+#, no-wrap
+msgid "Maximum detection distance, in meters. Objects that are farther away than the maximum distance will not be detected. "
+msgstr "Maximale Suchdistanz in Metern. Objekte, die ferner als die maximale Distanz sind, werden nicht gefunden."
+
+#. type: Plain text
+#: ../E/radar.txt:49
+#, no-wrap
+msgid "Determines which way the objects are detected. With value 1, returns the closest object found in the specified zone. With value -1, the farthest object in the zone will be returned. "
+msgstr "Bestimmt, in welcher Richtung die Objekte gesucht werden sollen. Mit dem Wert 1 wird das nächste Objekt in der Suchzone zurückgegeben. Mit dem Wert -1 wird das am weitesten entfernte Objekt in der Zone zurückgegeben."
+
#. type: \t; header
#: ../E/radar.txt:65 ../E/retobj.txt:10 ../E/search.txt:22
#, no-wrap
msgid "Return value: object"
msgstr "Rückgabe: object"
+#. type: Plain text
+#: ../E/radar.txt:66
+#, no-wrap
+msgid "Returns the first object found that corresponds to the specified category in the specified zone. If no object was found, returns the value null."
+msgstr "Gibt das erste Objekt zurück, das der gewünschten Kategorie in der angegebenen Zone entspricht. Wenn kein Objekt gefunden wurde, wird der Wert null zurückgegeben."
+
+#. type: Plain text
+#: ../E/radar.txt:69
+#, no-wrap
+msgid "You do not have to give all the parameters. Here are two examples of instructions that are equivalent: "
+msgstr "Sie müssen nicht alle Parameter angeben. Hier sind zwei Beispiele, die jeweils gleichwertig sind:"
+
+#. type: Source code
+#: ../E/radar.txt:71
+#, no-wrap
+msgid ""
+"\tradar(Titanium, 0, 360, 0, 1000);\n"
+"\tradar(Titanium); // equivalent"
+msgstr ""
+"\tradar(Titanium, 0, 360, 0, 1000);\n"
+"\tradar(Titanium); // gleichwertig"
+
+#. type: Source code
+#: ../E/radar.txt:74
+#, no-wrap
+msgid ""
+"\tradar(Titanium, 0, 90, 0, 1000);\n"
+"\tradar(Titanium, 0, 90); // equivalent"
+msgstr ""
+"\tradar(Titanium, 0, 90, 0, 1000);\n"
+"\tradar(Titanium, 0, 90); // gleichwertig"
+
+#. type: Plain text
+#: ../E/radar.txt:77
+#, no-wrap
+msgid ""
+"When one or more parameters are not specified, the default values indicated above are used instead; only the first parameter is compulsory.\n"
+"Generally, only the first parameter is specified: f. ex. radar (AlienAnt) detects the closest ant, wherever it may be. "
+msgstr "Wenn ein oder mehrere Parameter nicht angegeben werden, wird der oben angegebene Standardwert stattdessen eingesetzt. Nur der erste Parameter ist obligatorisch, z.B. radar(AlienAnt) sucht nach der nächsten Ameise, wo immer sie sein mag."
+
#. type: \b; header
#: ../E/readln.txt:1
#, no-wrap
@@ -5843,124 +5973,6 @@ msgstr "Bemerkung"
msgid "radius: float"
msgstr "reichweite: float"
-#. type: Plain text
-#: ../E/for.txt:19
-#, no-wrap
-msgid ""
-"Example: count from 1 to 4\n"
-"for ( i = 1 ; i <= 4 ; i++ )"
-msgstr ""
-"Beispiel: zählt von 1 bis 4\n"
-"for ( i = 1 ; i <= 4 ; i++ )"
-
-#. type: Source code
-#: ../E/build.txt:15
-#, no-wrap
-msgid "build ( cat );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:17
-#, no-wrap
-msgid "Tells the robot to build a building using a titanium cube placed on a flat ground nearby."
-msgstr ""
-
-#. type: \t; header
-#: ../E/build.txt:19 ../E/buildingenabled.txt:16 ../E/canbuild.txt:16 ../E/detect.txt:11 ../E/factory.txt:10 ../E/radar.txt:22
-#, no-wrap
-msgid "cat: int"
-msgstr ""
-
-#. type: \b; header
-#: ../E/build.txt:1
-#, no-wrap
-msgid "Instruction build"
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:23
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by build().\n"
-"== 0 Successfully built\n"
-"!= 0 Impossible to build (for example, the nearest titanium cube is too far away or the specified building is not available in the mission)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:7
-#, no-wrap
-msgid "Here is an example of a program that looks for the nearest titanium cube, goes to the position and builds a bot factory."
-msgstr ""
-
-#. type: Source code
-#: ../E/build.txt:9
-#, no-wrap
-msgid ""
-" object item = radar(Titanium);\n"
-" goto(item.position);\n"
-" build(BotFactory);"
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:5
-#, no-wrap
-msgid "This command is mostly useful in an attempt to build a fully automatised base, where an astronaut does not need to do anything except starting a program and watching bots working. What is more, it makes beating the game by using only programming a possible task (however, it is a challenge rather for experienced gamers, who beat the whole game at least once)."
-msgstr ""
-
-#. type: Source code
-#: ../E/aim.txt:3
-#, no-wrap
-msgid "aim ( y, x );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/aim.txt:10
-#, no-wrap
-msgid "When controlling the robot through programming, the gun can be also turned left or right by turning the whole robot with the instruction turn."
-msgstr ""
-
-#. type: \t; header
-#: ../E/aim.txt:12 ../E/atan2.txt:7 ../E/pow.txt:8
-#, no-wrap
-msgid "y: float"
-msgstr ""
-
-#. type: \t; header
-#: ../E/atan2.txt:10 ../E/pow.txt:5
-#, no-wrap
-msgid "x: float"
-msgstr ""
-
-#. type: Plain text
-#: ../E/aim.txt:5
-#, no-wrap
-msgid "This instruction sets the vertical and the horizontal angle of the cannon. The following robots are equipped with a cannon: "
-msgstr ""
-
-#. type: \b; header
-#: ../E/rand.txt:1
-#, no-wrap
-msgid "Instruction rand"
-msgstr ""
-
-#. type: Source code
-#: ../E/rand.txt:3
-#, no-wrap
-msgid "rand ( );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/rand.txt:6
-#, no-wrap
-msgid "Pseudorandom number between 0 and 1 (including 0, but excluding 1)."
-msgstr ""
-
-#. type: Plain text
-#: ../E/acos.txt:12 ../E/asin.txt:12 ../E/atan.txt:12 ../E/atan2.txt:17 ../E/cos.txt:12 ../E/pow.txt:15 ../E/rand.txt:9 ../E/sin.txt:12 ../E/sqrt.txt:12 ../E/tan.txt:12
-#, no-wrap
-msgid "Programming, types and expressions."
-msgstr ""
-
#. type: \b; header
#: ../E/acos.txt:1
#, no-wrap
@@ -5985,6 +5997,54 @@ msgstr ""
msgid "Number between -1 and 1 (including both)."
msgstr ""
+#. type: Plain text
+#: ../E/acos.txt:9
+#, no-wrap
+msgid "Arcus cosine (in degrees) of the value."
+msgstr ""
+
+#. type: Plain text
+#: ../E/acos.txt:12 ../E/asin.txt:12 ../E/atan.txt:12 ../E/atan2.txt:17 ../E/cos.txt:12 ../E/pow.txt:15 ../E/rand.txt:9 ../E/sin.txt:12 ../E/sqrt.txt:12 ../E/tan.txt:12
+#, no-wrap
+msgid "Programming, types and expressions."
+msgstr ""
+
+#. type: Source code
+#: ../E/aim.txt:3
+#, no-wrap
+msgid "aim ( y, x );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/aim.txt:5
+#, no-wrap
+msgid "This instruction sets the vertical and the horizontal angle of the cannon. The following robots are equipped with a cannon: "
+msgstr ""
+
+#. type: Plain text
+#: ../E/aim.txt:10
+#, no-wrap
+msgid "When controlling the robot through programming, the gun can be also turned left or right by turning the whole robot with the instruction turn."
+msgstr ""
+
+#. type: \t; header
+#: ../E/aim.txt:12 ../E/atan2.txt:7 ../E/pow.txt:8
+#, no-wrap
+msgid "y: float"
+msgstr ""
+
+#. type: \t; header
+#: ../E/aim.txt:15
+#, no-wrap
+msgid "x: float (default value: 0)"
+msgstr ""
+
+#. type: Plain text
+#: ../E/aim.txt:16
+#, no-wrap
+msgid "Angle in degrees of the gun relative to the robot. A positive value orients the gun to the right. The angle must range from -40 to +40 degrees for all shooters."
+msgstr ""
+
#. type: \b; header
#: ../E/asin.txt:1
#, no-wrap
@@ -5997,6 +6057,12 @@ msgstr ""
msgid "asin ( value );"
msgstr ""
+#. type: Plain text
+#: ../E/asin.txt:9
+#, no-wrap
+msgid "Arcus sine (in degrees) of the value."
+msgstr ""
+
#. type: \b; header
#: ../E/atan.txt:1
#, no-wrap
@@ -6015,6 +6081,451 @@ msgstr ""
msgid "Number."
msgstr ""
+#. type: Plain text
+#: ../E/atan.txt:9
+#, no-wrap
+msgid "Arcus tangent (in degrees) of the value."
+msgstr ""
+
+#. type: \b; header
+#: ../E/atan2.txt:1
+#, no-wrap
+msgid "Instruction atan2"
+msgstr ""
+
+#. type: Source code
+#: ../E/atan2.txt:3
+#, no-wrap
+msgid "atan2 ( y, x );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/atan2.txt:5
+#, no-wrap
+msgid "The purpose of using two arguments instead of one is to gather information on the signs of the inputs in order to return the appropriate quadrant of the computed angle, which is not possible for the single-argument atan(); function. For example, consider a point (-1, -1): atan(-1/-1); is 45.00 degrees, whereas atan2(-1, -1); is -135.00 degrees, which is obviously more correct in this case."
+msgstr ""
+
+#. type: \t; header
+#: ../E/atan2.txt:10 ../E/pow.txt:5
+#, no-wrap
+msgid "x: float"
+msgstr ""
+
+#. type: Plain text
+#: ../E/atan2.txt:14
+#, no-wrap
+msgid "Arcus tangent (in degrees) of y/x."
+msgstr ""
+
+#. type: \b; header
+#: ../E/build.txt:1
+#, no-wrap
+msgid "Instruction build"
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:2
+#, no-wrap
+msgid "The instruction build(); instructs the bot to build a building of the given category. Currently works for Grabbers, Me and Tech."
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:5
+#, no-wrap
+msgid "This command is mostly useful in an attempt to build a fully automatised base, where an astronaut does not need to do anything except starting a program and watching bots working. What is more, it makes beating the game by using only programming a possible task (however, it is a challenge rather for experienced gamers, who beat the whole game at least once)."
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:7
+#, no-wrap
+msgid "Here is an example of a program that looks for the nearest titanium cube, goes to the position and builds a bot factory."
+msgstr ""
+
+#. type: Source code
+#: ../E/build.txt:9
+#, no-wrap
+msgid ""
+" object item = radar(Titanium);\n"
+" goto(item.position);\n"
+" build(BotFactory);"
+msgstr ""
+
+#. type: Source code
+#: ../E/build.txt:15
+#, no-wrap
+msgid "build ( cat );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:17
+#, no-wrap
+msgid "Tells the robot to build a building using a titanium cube placed on a flat ground nearby."
+msgstr ""
+
+#. type: \t; header
+#: ../E/build.txt:19 ../E/buildingenabled.txt:16 ../E/canbuild.txt:16 ../E/detect.txt:11 ../E/factory.txt:10 ../E/radar.txt:22
+#, no-wrap
+msgid "cat: int"
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:20 ../E/buildingenabled.txt:17 ../E/canbuild.txt:17
+#, no-wrap
+msgid "Category of a building."
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:23
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by build().\n"
+"== 0 Successfully built\n"
+"!= 0 Impossible to build (for example, the nearest titanium cube is too far away or the specified building is not available in the mission)"
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:28
+#, no-wrap
+msgid "canbuild, buildingenabled, programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: ../E/buildingenabled.txt:1
+#, no-wrap
+msgid "Instruction buildingenabled"
+msgstr ""
+
+#. type: Plain text
+#: ../E/buildingenabled.txt:2
+#, no-wrap
+msgid "The instruction buildingenabled(); lets you know if a building of the given category can be built in the level."
+msgstr ""
+
+#. type: Plain text
+#: ../E/buildingenabled.txt:5
+#, no-wrap
+msgid "It is similar to the canbuild(); instruction. However, it does not check if a required research has been done."
+msgstr ""
+
+#. type: Source code
+#: ../E/buildingenabled.txt:7
+#, no-wrap
+msgid ""
+" if (buildingenabled(BotFactory))\n"
+" {\n"
+" \tbuild(BotFactory);\n"
+" }"
+msgstr ""
+
+#. type: Source code
+#: ../E/buildingenabled.txt:14
+#, no-wrap
+msgid "buildingenabled ( cat );"
+msgstr ""
+
+#. type: \t; header
+#: ../E/buildingenabled.txt:19 ../E/busy.txt:10 ../E/canbuild.txt:19 ../E/canresearch.txt:10 ../E/detect.txt:23 ../E/researched.txt:10
+#, no-wrap
+msgid "Return value: bool"
+msgstr ""
+
+#. type: Plain text
+#: ../E/buildingenabled.txt:20
+#, no-wrap
+msgid "true if the building can be built in the level even if required research has not been done, false otherwise."
+msgstr ""
+
+#. type: Plain text
+#: ../E/buildingenabled.txt:23
+#, no-wrap
+msgid "build, canbuild, ResearchCenter, programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: ../E/busy.txt:1
+#, no-wrap
+msgid "Instruction busy"
+msgstr ""
+
+#. type: Source code
+#: ../E/busy.txt:3
+#, no-wrap
+msgid "object.busy ( );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/busy.txt:5
+#, no-wrap
+msgid "Checks if the object is busy."
+msgstr ""
+
+#. type: \t; header
+#: ../E/busy.txt:7 ../E/destroy.txt:7 ../E/factory.txt:7 ../E/research.txt:7 ../E/takeoff.txt:7
+#, no-wrap
+msgid "object"
+msgstr ""
+
+#. type: Plain text
+#: ../E/busy.txt:8
+#, no-wrap
+msgid "Any building which can take some action (e.g. Converter)."
+msgstr ""
+
+#. type: Plain text
+#: ../E/busy.txt:11
+#, no-wrap
+msgid ""
+"true if the object is doing something (e.g. converting)\n"
+"false if the object is not doing anything"
+msgstr ""
+
+#. type: \b; header
+#: ../E/canbuild.txt:1
+#, no-wrap
+msgid "Instruction canbuild"
+msgstr ""
+
+#. type: Plain text
+#: ../E/canbuild.txt:2
+#, no-wrap
+msgid "The instruction canbuild(); lets you know if Grabbers, Me or Tech can build a building of the given category. "
+msgstr ""
+
+#. type: Plain text
+#: ../E/canbuild.txt:5
+#, no-wrap
+msgid "It helps to prevent errors in programs using the build(); instruction. Here is an example:"
+msgstr ""
+
+#. type: Source code
+#: ../E/canbuild.txt:7
+#, no-wrap
+msgid ""
+" if (canbuild(BotFactory))\n"
+" {\n"
+" \tbuild(BotFactory);\n"
+" }"
+msgstr ""
+
+#. type: Source code
+#: ../E/canbuild.txt:14
+#, no-wrap
+msgid "canbuild ( cat );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/canbuild.txt:20
+#, no-wrap
+msgid "true if the building can be built, false otherwise."
+msgstr ""
+
+#. type: Plain text
+#: ../E/canbuild.txt:23
+#, no-wrap
+msgid "build, buildingenabled, programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: ../E/canresearch.txt:1
+#, no-wrap
+msgid "Instruction canresearch"
+msgstr ""
+
+#. type: Source code
+#: ../E/canresearch.txt:3
+#, no-wrap
+msgid "canresearch ( research );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/canresearch.txt:5
+#, no-wrap
+msgid "Checks if the research can be done in the level."
+msgstr ""
+
+#. type: \t; header
+#: ../E/canresearch.txt:7 ../E/researched.txt:7
+#, no-wrap
+msgid "research: int"
+msgstr ""
+
+#. type: Plain text
+#: ../E/canresearch.txt:8 ../E/research.txt:11 ../E/researched.txt:8
+#, no-wrap
+msgid "Research name."
+msgstr ""
+
+#. type: Plain text
+#: ../E/canresearch.txt:11
+#, no-wrap
+msgid ""
+"true if the research can be done (even if it is already done, to check that, use the researched instruction)\n"
+"false if the research cannot be done"
+msgstr ""
+
+#. type: Plain text
+#: ../E/canresearch.txt:15
+#, no-wrap
+msgid "Research names, research, researched, programming, types and categories."
+msgstr ""
+
+#. type: Plain text
+#: ../E/category.txt:6
+#, no-wrap
+msgid "Below are the different categories available:"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:8
+#, no-wrap
+msgid "Buildings:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/category.txt:10
+#, no-wrap
+msgid ""
+" HoustonMission Control\n"
+" SpaceShipSpaceship\n"
+" BotFactoryRobot Factory\n"
+" ResearchCenterResearch Center\n"
+" RadarStationRadar\n"
+" ExchangePostInformation Exchange Post\n"
+" RepairCenterRepair Center\n"
+" DefenseTowerDefense Tower\n"
+" AutoLabOrganic Matter Analyzer \n"
+" PowerStationPower Station\n"
+" PowerPlantPower Cell Factory\n"
+" NuclearPlantNuclear Plant\n"
+" ConverterTitanium Converter\n"
+" DerrickDerrick\n"
+" PowerCaptorParabolic Lightning Conductor\n"
+" VaultVault\n"
+" StartAreaStarting Pad\n"
+" GoalAreaFinishing Pad\n"
+" AlienNestAlien Nest"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:31
+#, no-wrap
+msgid "Portable Objects:"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:44
+#, no-wrap
+msgid "Robots:"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:76
+#, no-wrap
+msgid "Enemies:"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:86
+#, no-wrap
+msgid "Miscellaneous:"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:95
+#, no-wrap
+msgid "Flags and Other Indicators:"
+msgstr ""
+
+#. type: \b; header
+#: ../E/ceil.txt:1
+#, no-wrap
+msgid "Instruction ceil"
+msgstr ""
+
+#. type: Source code
+#: ../E/ceil.txt:3
+#, no-wrap
+msgid "ceil ( value );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/ceil.txt:4
+#, no-wrap
+msgid "Rounds up a number."
+msgstr ""
+
+#. type: Plain text
+#: ../E/ceil.txt:10
+#, no-wrap
+msgid "Ceiling of the value, i.e. the smallest integer not less than value. For example, ceil(2.1) is 3.0."
+msgstr ""
+
+#. type: Plain text
+#: ../E/ceil.txt:13 ../E/floor.txt:13 ../E/trunc.txt:13
+#, no-wrap
+msgid "round, programming, types and expressions."
+msgstr ""
+
+#. type: \b; header
+#: ../E/colors.txt:1
+#, no-wrap
+msgid "Value Colors"
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:2
+#, no-wrap
+msgid "Color names are used to define a specific color to use. They can be passed to functions like pendown or pencolor."
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:4
+#, no-wrap
+msgid "In a program, colors are always displayed on a red background. If a color isn't highlighted in red, it is misspelled. Caps and lower cases should be kept as is."
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:6
+#, no-wrap
+msgid "Below are the different colors available:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:8
+#, no-wrap
+msgid ""
+"White\n"
+"Black\n"
+"Gray\n"
+"LightGray\n"
+"Red\n"
+"Pink\n"
+"Purple\n"
+"Orange\n"
+"Yellow\n"
+"Beige\n"
+"Brown\n"
+"Skin\n"
+"Green\n"
+"LightGreen\n"
+"Blue\n"
+"LightBlue"
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:25
+#, no-wrap
+msgid "You can also draw colored symbols:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:27
+#, no-wrap
+msgid ""
+"BlackArrow\n"
+"RedArrow"
+msgstr ""
+
#. type: \b; header
#: ../E/cos.txt:1
#, no-wrap
@@ -6040,287 +6551,191 @@ msgid "Cosine of the angle."
msgstr ""
#. type: \b; header
-#: ../E/pow.txt:1
+#: ../E/destroy.txt:1
#, no-wrap
-msgid "Instruction pow"
+msgid "Instruction destroy"
msgstr ""
#. type: Source code
-#: ../E/pow.txt:3
+#: ../E/destroy.txt:3
#, no-wrap
-msgid "pow ( x, y );"
+msgid "object.destroy ( );"
msgstr ""
#. type: Plain text
-#: ../E/pow.txt:6
+#: ../E/destroy.txt:5
#, no-wrap
-msgid "Base."
+msgid "Destroys an object."
msgstr ""
#. type: Plain text
-#: ../E/pow.txt:9
+#: ../E/destroy.txt:8
#, no-wrap
-msgid "Exponent."
+msgid "Destroyer."
msgstr ""
#. type: Plain text
-#: ../E/pow.txt:12
+#: ../E/destroy.txt:11
#, no-wrap
-msgid "x to the y (x raised to the yth power)."
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by destroy().\n"
+"== 0 The operation of destroying of an object was started\n"
+"!= 0 The instruction could not be done (e.g. nothing to destroy)"
msgstr ""
#. type: \b; header
-#: ../E/sin.txt:1
+#: ../E/detect.txt:1
#, no-wrap
-msgid "Instruction sin"
-msgstr ""
-
-#. type: Source code
-#: ../E/sin.txt:3
-#, no-wrap
-msgid "sin ( angle );"
+msgid "Instruction detect"
msgstr ""
#. type: Plain text
-#: ../E/sin.txt:9
+#: ../E/detect.txt:2
#, no-wrap
-msgid "Sine of the angle."
+msgid "With the instruction detect();, you can look for objects like enemies, bots, buildings or raw materials, which are in front of the bot. It is a simpler version of radar();."
+msgstr ""
+
+#. type: Source code
+#: ../E/detect.txt:6
+#, no-wrap
+msgid "detect ( cat );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/detect.txt:8
+#, no-wrap
+msgid "Detects the nearest object of the specified category being in front of the bot. It is similar to the following instruction:"
+msgstr ""
+
+#. type: Source code
+#: ../E/detect.txt:9
+#, no-wrap
+msgid "radar(cat, 0, 45, 0, 20);"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: ../E/detect.txt:12 ../E/radar.txt:23
+#, no-wrap
+msgid "Category of the objects that should be detected. For example, when you are looking for an ant, write radar(AlienAnt). "
+msgstr ""
+
+#. type: Bullet: 'o'
+#: ../E/detect.txt:13
+#, no-wrap
+msgid "Array of categories of the objects that should be detected. For example, when you are looking only for grabbers:"
+msgstr ""
+
+#. type: Source code
+#: ../E/detect.txt:14
+#, no-wrap
+msgid ""
+"int bots[4];\n"
+"bots[0] = WheeledGrabber;\n"
+"bots[1] = TrackedGrabber;\n"
+"bots[2] = WingedGrabber;\n"
+"bots[3] = LeggedGrabber;\n"
+"object nearestGrabber = radar(bots);"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: ../E/detect.txt:21 ../E/search.txt:17
+#, no-wrap
+msgid "Keyword Any if you are looking for any object (including even plants and so on)."
+msgstr ""
+
+#. type: Plain text
+#: ../E/detect.txt:24
+#, no-wrap
+msgid ""
+"true if the object was found\n"
+"false if the object was not found"
msgstr ""
#. type: \b; header
-#: ../E/sqrt.txt:1
+#: ../E/factory.txt:1
#, no-wrap
-msgid "Instruction sqrt"
+msgid "Instruction factory"
msgstr ""
#. type: Source code
-#: ../E/sqrt.txt:3
+#: ../E/factory.txt:3
#, no-wrap
-msgid "sqrt ( value );"
+msgid "object.factory ( cat, program );"
msgstr ""
#. type: Plain text
-#: ../E/sqrt.txt:6
+#: ../E/factory.txt:5
#, no-wrap
-msgid "Non-negative number."
+msgid "Starts a construction of a bot of the given category and runs the specified program on it after the construction is finished."
msgstr ""
#. type: Plain text
-#: ../E/sqrt.txt:9
+#: ../E/factory.txt:8
#, no-wrap
-msgid "Square root of the value."
-msgstr ""
-
-#. type: \b; header
-#: ../E/tan.txt:1
-#, no-wrap
-msgid "Instruction tan"
-msgstr ""
-
-#. type: Source code
-#: ../E/tan.txt:3
-#, no-wrap
-msgid "tan ( angle );"
+msgid "BotFactory"
msgstr ""
#. type: Plain text
-#: ../E/tan.txt:9
+#: ../E/factory.txt:11
#, no-wrap
-msgid "Tangent of the angle."
-msgstr ""
-
-#. type: Plain text
-#: ../E/acos.txt:9
-#, no-wrap
-msgid "Arcus cosine (in degrees) of the value."
-msgstr ""
-
-#. type: Plain text
-#: ../E/asin.txt:9
-#, no-wrap
-msgid "Arcus sine (in degrees) of the value."
-msgstr ""
-
-#. type: Plain text
-#: ../E/atan.txt:9
-#, no-wrap
-msgid "Arcus tangent (in degrees) of the value."
-msgstr ""
-
-#. type: Plain text
-#: ../E/tan.txt:6
-#, no-wrap
-msgid "Angle in degrees (except multiples of 90)."
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:28
-#, no-wrap
-msgid "canbuild, buildingenabled, programming, types and categories."
-msgstr ""
-
-#. type: \b; header
-#: ../E/canbuild.txt:1
-#, no-wrap
-msgid "Instruction canbuild"
-msgstr ""
-
-#. type: Source code
-#: ../E/canbuild.txt:14
-#, no-wrap
-msgid "canbuild ( cat );"
+msgid "Category of the robot to construct."
msgstr ""
#. type: \t; header
-#: ../E/buildingenabled.txt:19 ../E/busy.txt:10 ../E/canbuild.txt:19 ../E/canresearch.txt:10 ../E/detect.txt:23 ../E/researched.txt:10
+#: ../E/factory.txt:13
#, no-wrap
-msgid "Return value: bool"
+msgid "program: string (default value: \"\")"
msgstr ""
#. type: Plain text
-#: ../E/canbuild.txt:20
+#: ../E/factory.txt:14
#, no-wrap
-msgid "true if the building can be built, false otherwise."
+msgid "Program that will be run on the bot after factory finishes the construction. This can be either a publicfunction, a filename or just a raw source code."
msgstr ""
#. type: Plain text
-#: ../E/canbuild.txt:23
-#, no-wrap
-msgid "build, buildingenabled, programming, types and categories."
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:20 ../E/buildingenabled.txt:17 ../E/canbuild.txt:17
-#, no-wrap
-msgid "Category of a building."
-msgstr ""
-
-#. type: \b; header
-#: ../E/buildingenabled.txt:1
-#, no-wrap
-msgid "Instruction buildingenabled"
-msgstr ""
-
-#. type: Plain text
-#: ../E/buildingenabled.txt:2
-#, no-wrap
-msgid "The instruction buildingenabled(); lets you know if a building of the given category can be built in the level."
-msgstr ""
-
-#. type: Source code
-#: ../E/buildingenabled.txt:7
+#: ../E/factory.txt:17
#, no-wrap
msgid ""
-" if (buildingenabled(BotFactory))\n"
-" {\n"
-" \tbuild(BotFactory);\n"
-" }"
-msgstr ""
-
-#. type: Source code
-#: ../E/buildingenabled.txt:14
-#, no-wrap
-msgid "buildingenabled ( cat );"
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by factory().\n"
+"== 0 The construction successfully started\n"
+"!= 0 The construction could not be started (e.g. no Titanium in the factory, the bot is not researched)"
msgstr ""
#. type: Plain text
-#: ../E/buildingenabled.txt:20
+#: ../E/factory.txt:22
#, no-wrap
-msgid "true if the building can be built in the level even if required research has not been done, false otherwise."
-msgstr ""
-
-#. type: Plain text
-#: ../E/buildingenabled.txt:23
-#, no-wrap
-msgid "build, canbuild, ResearchCenter, programming, types and categories."
-msgstr ""
-
-#. type: Source code
-#: ../E/canbuild.txt:7
-#, no-wrap
-msgid ""
-" if (canbuild(BotFactory))\n"
-" {\n"
-" \tbuild(BotFactory);\n"
-" }"
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:2
-#, no-wrap
-msgid "The instruction build(); instructs the bot to build a building of the given category. Currently works for Grabbers, Me and Tech."
-msgstr ""
-
-#. type: Plain text
-#: ../E/buildingenabled.txt:5
-#, no-wrap
-msgid "It is similar to the canbuild(); instruction. However, it does not check if a required research has been done."
-msgstr ""
-
-#. type: Plain text
-#: ../E/canbuild.txt:2
-#, no-wrap
-msgid "The instruction canbuild(); lets you know if Grabbers, Me or Tech can build a building of the given category. "
-msgstr ""
-
-#. type: Plain text
-#: ../E/canbuild.txt:5
-#, no-wrap
-msgid "It helps to prevent errors in programs using the build(); instruction. Here is an example:"
+msgid "researched, wait, programming, types and categories."
msgstr ""
#. type: \b; header
-#: ../E/atan2.txt:1
+#: ../E/flatspace.txt:1
#, no-wrap
-msgid "Instruction atan2"
+msgid "Instruction flatspace"
msgstr ""
#. type: Source code
-#: ../E/atan2.txt:3
+#: ../E/flatspace.txt:3
#, no-wrap
-msgid "atan2 ( y, x );"
+msgid "flatspace ( center, flatmin, rmin, rmax, dist );"
msgstr ""
#. type: Plain text
-#: ../E/atan2.txt:14
+#: ../E/flatspace.txt:5
#, no-wrap
-msgid "Arcus tangent (in degrees) of y/x."
+msgid "Determines the position of the nearest free space with at least flatmin of flat ground around a given position. Works similar to space();. Useful for finding a place for a building."
+msgstr ""
+
+#. type: \t; header
+#: ../E/flatspace.txt:10
+#, no-wrap
+msgid "flatmin: float"
msgstr ""
#. type: Plain text
-#: ../E/atan2.txt:5
+#: ../E/flatspace.txt:11
#, no-wrap
-msgid "The purpose of using two arguments instead of one is to gather information on the signs of the inputs in order to return the appropriate quadrant of the computed angle, which is not possible for the single-argument atan(); function. For example, consider a point (-1, -1): atan(-1/-1); is 45.00 degrees, whereas atan2(-1, -1); is -135.00 degrees, which is obviously more correct in this case."
-msgstr ""
-
-#. type: \b; header
-#: ../E/ceil.txt:1
-#, no-wrap
-msgid "Instruction ceil"
-msgstr ""
-
-#. type: Source code
-#: ../E/ceil.txt:3
-#, no-wrap
-msgid "ceil ( value );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/floor.txt:4
-#, no-wrap
-msgid "Rounds down a number."
-msgstr ""
-
-#. type: Plain text
-#: ../E/ceil.txt:10
-#, no-wrap
-msgid "Ceiling of the value, i.e. the smallest integer not less than value. For example, ceil(2.1) is 3.0."
-msgstr ""
-
-#. type: Plain text
-#: ../E/ceil.txt:13 ../E/floor.txt:13 ../E/trunc.txt:13
-#, no-wrap
-msgid "round, programming, types and expressions."
+msgid "Minimum radius of flat ground around the desired position."
msgstr ""
#. type: \b; header
@@ -6336,9 +6751,9 @@ msgid "floor ( value );"
msgstr ""
#. type: Plain text
-#: ../E/ceil.txt:4
+#: ../E/floor.txt:4
#, no-wrap
-msgid "Rounds up a number."
+msgid "Rounds down a number."
msgstr ""
#. type: Plain text
@@ -6347,70 +6762,12 @@ msgstr ""
msgid "Floor of the value, i.e. the largest integer not greater than value. For example, floor(2.9) is 2.00."
msgstr ""
-#. type: \b; header
-#: ../E/round.txt:1
-#, no-wrap
-msgid "Instruction round"
-msgstr ""
-
-#. type: Source code
-#: ../E/round.txt:3
-#, no-wrap
-msgid "round ( value );"
-msgstr ""
-
#. type: Plain text
-#: ../E/round.txt:4
+#: ../E/for.txt:19
#, no-wrap
-msgid "Rounds a number."
-msgstr ""
-
-#. type: Plain text
-#: ../E/round.txt:10
-#, no-wrap
-msgid "Rounded value. For example, round(2.5) is 3.0, whereas round(2.4) is 2.0."
-msgstr ""
-
-#. type: \b; header
-#: ../E/trunc.txt:1
-#, no-wrap
-msgid "Instruction trunc"
-msgstr ""
-
-#. type: Source code
-#: ../E/trunc.txt:3
-#, no-wrap
-msgid "trunc ( value );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/trunc.txt:10
-#, no-wrap
-msgid "Truncated value. For example, trunc(-2.5) is -2.00."
-msgstr ""
-
-#. type: Plain text
-#: ../E/round.txt:13
-#, no-wrap
-msgid "trunc, floor, ceil, programming, types and expressions."
-msgstr ""
-
-#. type: Plain text
-#: ../E/trunc.txt:4
-#, no-wrap
-msgid "Truncation is a method of approximating a decimal number by dropping all decimal places past a certain point without rounding. For positive numbers, it works like the floor(); function, and for negative numbers, it works like the ceil(); function. It can be said that it rounds towards zero."
-msgstr ""
-
-#. type: Plain text
-#: ../E/aim.txt:16
-#, no-wrap
-msgid "Angle in degrees of the gun relative to the robot. A positive value orients the gun to the right. The angle must range from -40 to +40 degrees for all shooters."
-msgstr ""
-
-#. type: \t; header
-#: ../E/aim.txt:15
-#, no-wrap
-msgid "x: float (default value: 0)"
+msgid ""
+"Example: count from 1 to 4\n"
+"for ( i = 1 ; i <= 4 ; i++ )"
msgstr ""
#. type: Plain text
@@ -6443,6 +6800,12 @@ msgid ""
"}"
msgstr ""
+#. type: Plain text
+#: ../E/function.txt:14
+#, no-wrap
+msgid "Nothing but a name can be changed in the main function. The keyword extern distinguish the main function from others."
+msgstr ""
+
#. type: Plain text
#: ../E/function.txt:17
#, no-wrap
@@ -6491,12 +6854,34 @@ msgid ""
"}"
msgstr ""
+#. type: Plain text
+#: ../E/function.txt:47
+#, no-wrap
+msgid "Now the program is much easier to read. It is a good practice to split the program into several functions with self-describing names."
+msgstr ""
+
#. type: \b; header
#: ../E/function.txt:49
#, no-wrap
msgid "Syntax"
msgstr ""
+#. type: Source code
+#: ../E/function.txt:51
+#, no-wrap
+msgid ""
+"result_type FunctionName(optional_parameters)\n"
+"{\n"
+"\tbody\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: ../E/function.txt:56
+#, no-wrap
+msgid "Result type should be void if the function does not give any. Body is just a set of instructions. Function name must be created with the exact same rules applied to variables."
+msgstr ""
+
#. type: \t; header
#: ../E/function.txt:58
#, no-wrap
@@ -6509,6 +6894,18 @@ msgstr ""
msgid "A function can have parameters:"
msgstr ""
+#. type: Source code
+#: ../E/function.txt:61
+#, no-wrap
+msgid ""
+"void Example(int a, float x, string s)\n"
+"{\n"
+"\tmessage(a);\n"
+"\tmessage(x);\n"
+"\tmessage(s);\n"
+"}"
+msgstr ""
+
#. type: Plain text
#: ../E/function.txt:68
#, no-wrap
@@ -6624,34 +7021,6 @@ msgstr ""
msgid "Declaring a function as a part of the object namespace gives it access to thispointer, in other words, to all available properties of the robot which the program is run on."
msgstr ""
-#. type: Plain text
-#: ../E/function.txt:47
-#, no-wrap
-msgid "Now the program is much easier to read. It is a good practice to split the program into several functions with self-describing names."
-msgstr ""
-
-#. type: Source code
-#: ../E/function.txt:51
-#, no-wrap
-msgid ""
-"result_type FunctionName(optional_parameters)\n"
-"{\n"
-"\tbody\n"
-"}"
-msgstr ""
-
-#. type: Source code
-#: ../E/function.txt:61
-#, no-wrap
-msgid ""
-"void Example(int a, float x, string s)\n"
-"{\n"
-"\tmessage(a);\n"
-"\tmessage(x);\n"
-"\tmessage(s);\n"
-"}"
-msgstr ""
-
#. type: Source code
#: ../E/function.txt:123
#, no-wrap
@@ -6663,78 +7032,352 @@ msgid ""
msgstr ""
#. type: Plain text
-#: ../E/function.txt:56
+#: ../E/object.txt:2
#, no-wrap
-msgid "Result type should be void if the function does not give any. Body is just a set of instructions. Function name must be created with the exact same rules applied to variables."
+msgid "Use this type for variables that contain the characteristics of an object, be it a bot, a building, some raw material, an enemy, etc. Here are all properties of an object: "
msgstr ""
-#. type: \b; header
-#: ../E/factory.txt:1
+#. type: Plain text
+#: ../E/object.txt:4
#, no-wrap
-msgid "Instruction factory"
+msgid ""
+"int object.category Category of the object\n"
+"point object.position Position of the object (x,y,z)\n"
+"float object.orientation Orientation of the object (0..360)\n"
+"float object.pitch Forward/backward angle of the object\n"
+"float object.roll Right/left angle of the object \n"
+"float object.energyLevel Energy level (0..1)\n"
+"float object.shieldLevel Shield level (0..1)\n"
+"float object.temperature Jet temperature (0..1)\n"
+"float object.altitude Altitude above ground\n"
+"float object.lifeTime Lifetime of the object\n"
+"object object.energyCell Power cell on the bot\n"
+"object object.load Object carried by the bot\n"
+"int object.team The object's team (see code battles)\n"
+"point object.velocity Velocity of the object"
+msgstr ""
+
+#. type: Plain text
+#: ../E/object.txt:19
+#, no-wrap
+msgid "Also, some objects have additional methods (instructions). See them in the main list in the \"Instructions specific for some objects\" section."
+msgstr ""
+
+#. type: Plain text
+#: ../E/object.txt:22
+#, no-wrap
+msgid "The category of an object allows you to know what it is, f. ex. what kind of bot, building, enemy, etc."
msgstr ""
#. type: Source code
-#: ../E/factory.txt:3
+#: ../E/object.txt:60
#, no-wrap
-msgid "object.factory ( cat, program );"
+msgid "team"
msgstr ""
#. type: Plain text
-#: ../E/factory.txt:5
+#: ../E/object.txt:61
#, no-wrap
-msgid "Starts a construction of a bot of the given category and runs the specified program on it after the construction is finished."
+msgid "The bot's team. Used in code battles. If the object has no team assigned (e.g. in no team-based levels, the object being a resource), this is equal to 0."
+msgstr ""
+
+#. type: Source code
+#: ../E/object.txt:63
+#, no-wrap
+msgid "velocity"
+msgstr ""
+
+#. type: Plain text
+#: ../E/object.txt:64
+#, no-wrap
+msgid "Current velocity of the object. Should be treated as a three-dimensional vector."
+msgstr ""
+
+#. type: \b; header
+#: ../E/pencolor.txt:1
+#, no-wrap
+msgid "Instruction pencolor"
+msgstr ""
+
+#. type: Source code
+#: ../E/pencolor.txt:3
+#, no-wrap
+msgid "pencolor ( color );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/pencolor.txt:4
+#, no-wrap
+msgid "The instruction pencolor(); instructs the bot to change the color of the pencil."
msgstr ""
#. type: \t; header
-#: ../E/busy.txt:7 ../E/destroy.txt:7 ../E/factory.txt:7 ../E/research.txt:7 ../E/takeoff.txt:7
+#: ../E/pencolor.txt:6 ../E/pendown.txt:6
#, no-wrap
-msgid "object"
+msgid "color: int (default value: Black)"
msgstr ""
#. type: Plain text
-#: ../E/factory.txt:8
+#: ../E/pencolor.txt:7 ../E/pendown.txt:7
#, no-wrap
-msgid "BotFactory"
+msgid "Color name."
msgstr ""
#. type: Plain text
-#: ../E/factory.txt:11
-#, no-wrap
-msgid "Category of the robot to construct."
-msgstr ""
-
-#. type: \t; header
-#: ../E/factory.txt:13
-#, no-wrap
-msgid "program: string (default value: \"\")"
-msgstr ""
-
-#. type: Plain text
-#: ../E/factory.txt:14
-#, no-wrap
-msgid "Program that will be run on the bot after factory finishes the construction. This can be either a publicfunction, a filename or just a raw source code."
-msgstr ""
-
-#. type: Plain text
-#: ../E/category.txt:6
-#, no-wrap
-msgid "Below are the different categories available:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/factory.txt:17
+#: ../E/pencolor.txt:10
#, no-wrap
msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by factory().\n"
-"== 0 The construction successfully started\n"
-"!= 0 The construction could not be started (e.g. no Titanium in the factory, the bot is not researched)"
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by pencolor();.\n"
+"== 0 The color was changed\n"
+"!= 0 The instruction did not work"
+msgstr ""
+
+#. type: \b; header
+#: ../E/pendown.txt:1
+#, no-wrap
+msgid "Instruction pendown"
+msgstr ""
+
+#. type: Source code
+#: ../E/pendown.txt:3
+#, no-wrap
+msgid "pendown ( color, width );"
msgstr ""
#. type: Plain text
-#: ../E/factory.txt:22
+#: ../E/pendown.txt:4
#, no-wrap
-msgid "researched, wait, programming, types and categories."
+msgid "The instruction pendown(); instructs the bot to have the pen down, so it starts drawing."
+msgstr ""
+
+#. type: \t; header
+#: ../E/pendown.txt:9
+#, no-wrap
+msgid "width: float (default value: 0.5)"
+msgstr ""
+
+#. type: Plain text
+#: ../E/pendown.txt:10 ../E/penwidth.txt:7
+#, no-wrap
+msgid "Width of the pen. The width cannot be higher than 1.0 and cannot be lower than 0.0. Passing a higher value will result in the width being the highest possible and passing a lower value will result in the width being the lowest possible."
+msgstr ""
+
+#. type: Plain text
+#: ../E/pendown.txt:13
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by pendown();.\n"
+"== 0 The pen is now down\n"
+"!= 0 The instruction did not work"
+msgstr ""
+
+#. type: \b; header
+#: ../E/penup.txt:1
+#, no-wrap
+msgid "Instruction penup"
+msgstr ""
+
+#. type: Source code
+#: ../E/penup.txt:3
+#, no-wrap
+msgid "penup ( );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/penup.txt:4
+#, no-wrap
+msgid "The instruction penup(); instructs the bot to have the pen up, so it stops drawing. The pen is up by default, so it should be used only after using pendown."
+msgstr ""
+
+#. type: Plain text
+#: ../E/penup.txt:7
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by penup();.\n"
+"== 0 The pen is now up\n"
+"!= 0 The instruction did not work"
+msgstr ""
+
+#. type: \b; header
+#: ../E/penwidth.txt:1
+#, no-wrap
+msgid "Instruction penwidth"
+msgstr ""
+
+#. type: Source code
+#: ../E/penwidth.txt:3
+#, no-wrap
+msgid "penwidth ( color );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/penwidth.txt:4
+#, no-wrap
+msgid "The instruction penwidth(); instructs the bot to change the width of the pencil."
+msgstr ""
+
+#. type: \t; header
+#: ../E/penwidth.txt:6
+#, no-wrap
+msgid "width: float"
+msgstr ""
+
+#. type: Plain text
+#: ../E/penwidth.txt:10
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by penwidth();.\n"
+"== 0 The width was changed\n"
+"!= 0 The instruction did not work"
+msgstr ""
+
+#. type: \b; header
+#: ../E/pow.txt:1
+#, no-wrap
+msgid "Instruction pow"
+msgstr ""
+
+#. type: Source code
+#: ../E/pow.txt:3
+#, no-wrap
+msgid "pow ( x, y );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/pow.txt:6
+#, no-wrap
+msgid "Base."
+msgstr ""
+
+#. type: Plain text
+#: ../E/pow.txt:9
+#, no-wrap
+msgid "Exponent."
+msgstr ""
+
+#. type: Plain text
+#: ../E/pow.txt:12
+#, no-wrap
+msgid "x to the y (x raised to the yth power)."
+msgstr ""
+
+#. type: Source code
+#: ../E/radar.txt:15
+#, no-wrap
+msgid "radar ( cat, angle, focus, min, max, sens, filter );"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: ../E/radar.txt:24
+#, no-wrap
+msgid "Array of categories of the objects that should be detected. For example, when you are looking only for grabbers:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:25 ../E/search.txt:10
+#, no-wrap
+msgid "int bots[4];"
+msgstr ""
+
+#. type: Source code
+#: ../E/radar.txt:26
+#, no-wrap
+msgid ""
+"bots[0] = WheeledGrabber;\n"
+"bots[1] = TrackedGrabber;\n"
+"bots[2] = WingedGrabber;\n"
+"bots[3] = LeggedGrabber;\n"
+"object nearestGrabber = radar(bots);"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: ../E/radar.txt:31
+#, no-wrap
+msgid "Keyword Any if you are looking for any object (including even plants and so on). Filters may be useful to use with this keyword."
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:33
+#, no-wrap
+msgid "angle: float (default value: 0)"
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:39
+#, no-wrap
+msgid "focus: float (default value: 360)"
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:42
+#, no-wrap
+msgid "min: float (default value: 0)"
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:45
+#, no-wrap
+msgid "max: float (default value: 1000)"
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:48
+#, no-wrap
+msgid "sens: float (default value: 1)"
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:51
+#, no-wrap
+msgid "filter: int (default value: FilterNone)"
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:52
+#, no-wrap
+msgid "Determines which type of objects should be detected. Especially useful in use with an array or Any. The following filters are available:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:54
+#, no-wrap
+msgid ""
+"FilterNoneDetects everything (default)\n"
+"FilterOnlyLandingDetects only objects being on the ground\n"
+"FilterOnlyFlyingDetects only objects not being on the ground\n"
+"FilterFriendlyDetects only allies (objects in the same team)\n"
+"FilterEnemyDetects only enemies (objects in an other team except neutral)\n"
+"FilterNeutralDetects only neutral objects (e.g. resources)"
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:61
+#, no-wrap
+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. Attention: you should use FilterNeutral instead of 0 or else it will not work."
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:63
+#, no-wrap
+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/rand.txt:1
+#, no-wrap
+msgid "Instruction rand"
+msgstr ""
+
+#. type: Source code
+#: ../E/rand.txt:3
+#, no-wrap
+msgid "rand ( );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/rand.txt:6
+#, no-wrap
+msgid "Pseudorandom number between 0 and 1 (including 0, but excluding 1)."
msgstr ""
#. type: \b; header
@@ -6749,18 +7392,71 @@ msgstr ""
msgid "object.research ( type );"
msgstr ""
+#. type: Plain text
+#: ../E/research.txt:5
+#, no-wrap
+msgid "Starts a research of the given type."
+msgstr ""
+
+#. type: Plain text
+#: ../E/research.txt:8
+#, no-wrap
+msgid "ResearchCenter or AutoLab."
+msgstr ""
+
#. type: \t; header
#: ../E/research.txt:10
#, no-wrap
msgid "type: int"
msgstr ""
+#. type: Plain text
+#: ../E/research.txt:14
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by research().\n"
+"== 0 The research successfully started\n"
+"!= 0 The research could not be started (e.g. the research is disabled in the level, no power cell)"
+msgstr ""
+
#. type: Plain text
#: ../E/research.txt:19
#, no-wrap
msgid "Research names, canresearch, researched, programming, types and categories."
msgstr ""
+#. type: \b; header
+#: ../E/researched.txt:1
+#, no-wrap
+msgid "Instruction researched"
+msgstr ""
+
+#. type: Source code
+#: ../E/researched.txt:3
+#, no-wrap
+msgid "researched ( research );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/researched.txt:5
+#, no-wrap
+msgid "Checks if the research was done in the level."
+msgstr ""
+
+#. type: Plain text
+#: ../E/researched.txt:11
+#, no-wrap
+msgid ""
+"true if the research was done\n"
+"false if the research was not done"
+msgstr ""
+
+#. type: Plain text
+#: ../E/researched.txt:15
+#, no-wrap
+msgid "Research names, research, canresearch, canbuildprogramming, types and categories."
+msgstr ""
+
#. type: \b; header
#: ../E/researches.txt:1
#, no-wrap
@@ -6779,167 +7475,6 @@ msgstr ""
msgid "In a program, research names are always displayed on a red background. If a research name is not highlighted in red, it is misspelled. Caps and lower cases should be kept as is."
msgstr ""
-#. type: Plain text
-#: ../E/researches.txt:28
-#, no-wrap
-msgid "CBOT Language, variables and categories."
-msgstr ""
-
-#. type: \b; header
-#: ../E/busy.txt:1
-#, no-wrap
-msgid "Instruction busy"
-msgstr ""
-
-#. type: Source code
-#: ../E/busy.txt:3
-#, no-wrap
-msgid "object.busy ( );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/busy.txt:5
-#, no-wrap
-msgid "Checks if the object is busy."
-msgstr ""
-
-#. type: Plain text
-#: ../E/busy.txt:8
-#, no-wrap
-msgid "Any building which can take some action (e.g. Converter)."
-msgstr ""
-
-#. type: Plain text
-#: ../E/busy.txt:11
-#, no-wrap
-msgid ""
-"true if the object is doing something (e.g. converting)\n"
-"false if the object is not doing anything"
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:2
-#, no-wrap
-msgid "Use this type for variables that contain the characteristics of an object, be it a bot, a building, some raw material, an enemy, etc. Here are all properties of an object: "
-msgstr ""
-
-#. type: \b; header
-#: ../E/takeoff.txt:1
-#, no-wrap
-msgid "Instruction takeoff"
-msgstr ""
-
-#. type: Source code
-#: ../E/takeoff.txt:3
-#, no-wrap
-msgid "object.takeoff ( );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/takeoff.txt:5
-#, no-wrap
-msgid "Takes off the spaceship."
-msgstr ""
-
-#. type: Plain text
-#: ../E/takeoff.txt:8
-#, no-wrap
-msgid "SpaceShip"
-msgstr ""
-
-#. type: Source code
-#: ../E/object.txt:60
-#, no-wrap
-msgid "team"
-msgstr ""
-
-#. type: Source code
-#: ../E/object.txt:63
-#, no-wrap
-msgid "velocity"
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:64
-#, no-wrap
-msgid "Current velocity of the object. Should be treated as a three-dimensional vector."
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:19
-#, no-wrap
-msgid "Also, some objects have additional methods (instructions). See them in the main list in the \"Instructions specific for some objects\" section."
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:22
-#, no-wrap
-msgid "The category of an object allows you to know what it is, f. ex. what kind of bot, building, enemy, etc."
-msgstr ""
-
-#. type: Plain text
-#: ../E/research.txt:8
-#, no-wrap
-msgid "ResearchCenter or AutoLab."
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:8
-#, no-wrap
-msgid "Buildings:"
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:31
-#, no-wrap
-msgid "Portable Objects:"
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:44
-#, no-wrap
-msgid "Robots:"
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:76
-#, no-wrap
-msgid "Enemies:"
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:86
-#, no-wrap
-msgid "Miscellaneous:"
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:95
-#, no-wrap
-msgid "Flags and Other Indicators:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/research.txt:5
-#, no-wrap
-msgid "Starts a research of the given type."
-msgstr ""
-
-#. type: Plain text
-#: ../E/canresearch.txt:8 ../E/research.txt:11 ../E/researched.txt:8
-#, no-wrap
-msgid "Research name."
-msgstr ""
-
-#. type: Plain text
-#: ../E/research.txt:14
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by research().\n"
-"== 0 The research successfully started\n"
-"!= 0 The research could not be started (e.g. the research is disabled in the level, no power cell)"
-msgstr ""
-
#. type: Plain text
#: ../E/researches.txt:6
#, no-wrap
@@ -6996,360 +7531,39 @@ msgid ""
msgstr ""
#. type: Plain text
-#: ../E/takeoff.txt:11
+#: ../E/researches.txt:28
#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by takeoff().\n"
-"== 0 Spaceship takes off\n"
-"!= 0 Spaceship could not take off (e.g. mission is not finished yet)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:61
-#, no-wrap
-msgid "The bot's team. Used in code battles. If the object has no team assigned (e.g. in no team-based levels, the object being a resource), this is equal to 0."
+msgid "CBOT Language, variables and categories."
msgstr ""
#. type: \b; header
-#: ../E/colors.txt:1
+#: ../E/round.txt:1
#, no-wrap
-msgid "Value Colors"
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:2
-#, no-wrap
-msgid "Color names are used to define a specific color to use. They can be passed to functions like pendown or pencolor."
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:4
-#, no-wrap
-msgid "In a program, colors are always displayed on a red background. If a color isn't highlighted in red, it is misspelled. Caps and lower cases should be kept as is."
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:6
-#, no-wrap
-msgid "Below are the different colors available:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:8
-#, no-wrap
-msgid ""
-"White\n"
-"Black\n"
-"Gray\n"
-"LightGray\n"
-"Red\n"
-"Pink\n"
-"Purple\n"
-"Orange\n"
-"Yellow\n"
-"Beige\n"
-"Brown\n"
-"Skin\n"
-"Green\n"
-"LightGreen\n"
-"Blue\n"
-"LightBlue"
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:25
-#, no-wrap
-msgid "You can also draw colored symbols:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:27
-#, no-wrap
-msgid ""
-"BlackArrow\n"
-"RedArrow"
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:4
-#, no-wrap
-msgid ""
-"int object.category Category of the object\n"
-"point object.position Position of the object (x,y,z)\n"
-"float object.orientation Orientation of the object (0..360)\n"
-"float object.pitch Forward/backward angle of the object\n"
-"float object.roll Right/left angle of the object \n"
-"float object.energyLevel Energy level (0..1)\n"
-"float object.shieldLevel Shield level (0..1)\n"
-"float object.temperature Jet temperature (0..1)\n"
-"float object.altitude Altitude above ground\n"
-"float object.lifeTime Lifetime of the object\n"
-"object object.energyCell Power cell on the bot\n"
-"object object.load Object carried by the bot\n"
-"int object.team The object's team (see code battles)\n"
-"point object.velocity Velocity of the object"
-msgstr ""
-
-#. type: \b; header
-#: ../E/pencolor.txt:1
-#, no-wrap
-msgid "Instruction pencolor"
+msgid "Instruction round"
msgstr ""
#. type: Source code
-#: ../E/pencolor.txt:3
+#: ../E/round.txt:3
#, no-wrap
-msgid "pencolor ( color );"
-msgstr ""
-
-#. type: \t; header
-#: ../E/pencolor.txt:6 ../E/pendown.txt:6
-#, no-wrap
-msgid "color: int (default value: Black)"
+msgid "round ( value );"
msgstr ""
#. type: Plain text
-#: ../E/pencolor.txt:7 ../E/pendown.txt:7
+#: ../E/round.txt:4
#, no-wrap
-msgid "Color name."
-msgstr ""
-
-#. type: \b; header
-#: ../E/pendown.txt:1
-#, no-wrap
-msgid "Instruction pendown"
-msgstr ""
-
-#. type: Source code
-#: ../E/pendown.txt:3
-#, no-wrap
-msgid "pendown ( color, width );"
-msgstr ""
-
-#. type: \t; header
-#: ../E/pendown.txt:9
-#, no-wrap
-msgid "width: float (default value: 0.5)"
+msgid "Rounds a number."
msgstr ""
#. type: Plain text
-#: ../E/pendown.txt:10 ../E/penwidth.txt:7
+#: ../E/round.txt:10
#, no-wrap
-msgid "Width of the pen. The width cannot be higher than 1.0 and cannot be lower than 0.0. Passing a higher value will result in the width being the highest possible and passing a lower value will result in the width being the lowest possible."
+msgid "Rounded value. For example, round(2.5) is 3.0, whereas round(2.4) is 2.0."
msgstr ""
#. type: Plain text
-#: ../E/pendown.txt:13
+#: ../E/round.txt:13
#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by pendown();.\n"
-"== 0 The pen is now down\n"
-"!= 0 The instruction did not work"
-msgstr ""
-
-#. type: Plain text
-#: ../E/pencolor.txt:4
-#, no-wrap
-msgid "The instruction pencolor(); instructs the bot to change the color of the pencil."
-msgstr ""
-
-#. type: Plain text
-#: ../E/pencolor.txt:10
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by pencolor();.\n"
-"== 0 The color was changed\n"
-"!= 0 The instruction did not work"
-msgstr ""
-
-#. type: \b; header
-#: ../E/penup.txt:1
-#, no-wrap
-msgid "Instruction penup"
-msgstr ""
-
-#. type: Source code
-#: ../E/penup.txt:3
-#, no-wrap
-msgid "penup ( );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/penup.txt:7
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by penup();.\n"
-"== 0 The pen is now up\n"
-"!= 0 The instruction did not work"
-msgstr ""
-
-#. type: \b; header
-#: ../E/penwidth.txt:1
-#, no-wrap
-msgid "Instruction penwidth"
-msgstr ""
-
-#. type: Source code
-#: ../E/penwidth.txt:3
-#, no-wrap
-msgid "penwidth ( color );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/penwidth.txt:4
-#, no-wrap
-msgid "The instruction penwidth(); instructs the bot to change the width of the pencil."
-msgstr ""
-
-#. type: \t; header
-#: ../E/penwidth.txt:6
-#, no-wrap
-msgid "width: float"
-msgstr ""
-
-#. type: Plain text
-#: ../E/penwidth.txt:10
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by penwidth();.\n"
-"== 0 The width was changed\n"
-"!= 0 The instruction did not work"
-msgstr ""
-
-#. type: Plain text
-#: ../E/pendown.txt:4
-#, no-wrap
-msgid "The instruction pendown(); instructs the bot to have the pen down, so it starts drawing."
-msgstr ""
-
-#. type: Plain text
-#: ../E/penup.txt:4
-#, no-wrap
-msgid "The instruction penup(); instructs the bot to have the pen up, so it stops drawing. The pen is up by default, so it should be used only after using pendown."
-msgstr ""
-
-#. type: \b; header
-#: ../E/canresearch.txt:1
-#, no-wrap
-msgid "Instruction canresearch"
-msgstr ""
-
-#. type: Source code
-#: ../E/canresearch.txt:3
-#, no-wrap
-msgid "canresearch ( research );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/canresearch.txt:5
-#, no-wrap
-msgid "Checks if the research can be done in the level."
-msgstr ""
-
-#. type: \t; header
-#: ../E/canresearch.txt:7 ../E/researched.txt:7
-#, no-wrap
-msgid "research: int"
-msgstr ""
-
-#. type: Plain text
-#: ../E/canresearch.txt:11
-#, no-wrap
-msgid ""
-"true if the research can be done (even if it is already done, to check that, use the researched instruction)\n"
-"false if the research cannot be done"
-msgstr ""
-
-#. type: Plain text
-#: ../E/canresearch.txt:15
-#, no-wrap
-msgid "Research names, research, researched, programming, types and categories."
-msgstr ""
-
-#. type: \b; header
-#: ../E/researched.txt:1
-#, no-wrap
-msgid "Instruction researched"
-msgstr ""
-
-#. type: Source code
-#: ../E/researched.txt:3
-#, no-wrap
-msgid "researched ( research );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/researched.txt:5
-#, no-wrap
-msgid "Checks if the research was done in the level."
-msgstr ""
-
-#. type: Plain text
-#: ../E/researched.txt:11
-#, no-wrap
-msgid ""
-"true if the research was done\n"
-"false if the research was not done"
-msgstr ""
-
-#. type: Plain text
-#: ../E/researched.txt:15
-#, no-wrap
-msgid "Research names, research, canresearch, canbuildprogramming, types and categories."
-msgstr ""
-
-#. type: \b; header
-#: ../E/flatspace.txt:1
-#, no-wrap
-msgid "Instruction flatspace"
-msgstr ""
-
-#. type: Source code
-#: ../E/flatspace.txt:3
-#, no-wrap
-msgid "flatspace ( center, flatmin, rmin, rmax, dist );"
-msgstr ""
-
-#. type: \t; header
-#: ../E/flatspace.txt:10
-#, no-wrap
-msgid "flatmin: float"
-msgstr ""
-
-#. type: Plain text
-#: ../E/flatspace.txt:11
-#, no-wrap
-msgid "Minimum radius of flat ground around the desired position."
-msgstr ""
-
-#. type: Plain text
-#: ../E/flatspace.txt:5
-#, no-wrap
-msgid "Determines the position of the nearest free space with at least flatmin of flat ground around a given position. Works similar to space();. Useful for finding a place for a building."
-msgstr ""
-
-#. type: Plain text
-#: ../E/function.txt:14
-#, no-wrap
-msgid "Nothing but a name can be changed in the main function. The keyword extern distinguish the main function from others."
-msgstr ""
-
-#. type: Bullet: 'o'
-#: ../E/radar.txt:24
-#, no-wrap
-msgid "Array of categories of the objects that should be detected. For example, when you are looking only for grabbers:"
-msgstr ""
-
-#. type: Bullet: 'o'
-#: ../E/detect.txt:12 ../E/radar.txt:23
-#, no-wrap
-msgid "Category of the objects that should be detected. For example, when you are looking for an ant, write radar(AlienAnt). "
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:25 ../E/search.txt:10
-#, no-wrap
-msgid "int bots[4];"
+msgid "trunc, floor, ceil, programming, types and expressions."
msgstr ""
#. type: Plain text
@@ -7389,67 +7603,45 @@ msgid "position: point (default value: destroy"
+msgid "Instruction sin"
msgstr ""
#. type: Source code
-#: ../E/destroy.txt:3
+#: ../E/sin.txt:3
#, no-wrap
-msgid "object.destroy ( );"
+msgid "sin ( angle );"
msgstr ""
#. type: Plain text
-#: ../E/destroy.txt:5
+#: ../E/sin.txt:9
#, no-wrap
-msgid "Destroys an object."
+msgid "Sine of the angle."
+msgstr ""
+
+#. type: \b; header
+#: ../E/sqrt.txt:1
+#, no-wrap
+msgid "Instruction sqrt"
+msgstr ""
+
+#. type: Source code
+#: ../E/sqrt.txt:3
+#, no-wrap
+msgid "sqrt ( value );"
msgstr ""
#. type: Plain text
-#: ../E/destroy.txt:8
+#: ../E/sqrt.txt:6
#, no-wrap
-msgid "Destroyer."
+msgid "Non-negative number."
msgstr ""
#. type: Plain text
-#: ../E/category.txt:10
+#: ../E/sqrt.txt:9
#, no-wrap
-msgid ""
-" HoustonMission Control\n"
-" SpaceShipSpaceship\n"
-" BotFactoryRobot Factory\n"
-" ResearchCenterResearch Center\n"
-" RadarStationRadar\n"
-" ExchangePostInformation Exchange Post\n"
-" RepairCenterRepair Center\n"
-" DefenseTowerDefense Tower\n"
-" AutoLabOrganic Matter Analyzer \n"
-" PowerStationPower Station\n"
-" PowerPlantPower Cell Factory\n"
-" NuclearPlantNuclear Plant\n"
-" ConverterTitanium Converter\n"
-" DerrickDerrick\n"
-" PowerCaptorParabolic Lightning Conductor\n"
-" VaultVault\n"
-" StartAreaStarting Pad\n"
-" GoalAreaFinishing Pad\n"
-" AlienNestAlien Nest"
-msgstr ""
-
-#. type: Plain text
-#: ../E/destroy.txt:11
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by destroy().\n"
-"== 0 The operation of destroying of an object was started\n"
-"!= 0 The instruction could not be done (e.g. nothing to destroy)"
-msgstr ""
-
-#. type: Bullet: 'o'
-#: ../E/detect.txt:21 ../E/search.txt:17
-#, no-wrap
-msgid "Keyword Any if you are looking for any object (including even plants and so on)."
+msgid "Square root of the value."
msgstr ""
#. type: \b; header
@@ -7464,6 +7656,18 @@ msgstr ""
msgid "With the instruction switch() {} you can execute a proper set of instructions (a case) basing on some value."
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: Source code
#: ../E/switch.txt:9
#, no-wrap
@@ -7526,6 +7730,12 @@ msgid ""
"}"
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: Source code
#: ../E/switch.txt:48
#, no-wrap
@@ -7540,24 +7750,6 @@ msgid ""
"}"
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
@@ -7575,276 +7767,95 @@ msgid ""
"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 ""
-#. type: \b; header
-#: ../E/detect.txt:1
-#, no-wrap
-msgid "Instruction detect"
-msgstr ""
-
-#. type: Source code
-#: ../E/detect.txt:6
-#, no-wrap
-msgid "detect ( cat );"
-msgstr ""
-
#. type: Plain text
-#: ../E/detect.txt:8
+#: ../E/switch.txt:68
#, no-wrap
-msgid "Detects the nearest object of the specified category being in front of the bot. It is similar to the following instruction:"
-msgstr ""
-
-#. type: Source code
-#: ../E/detect.txt:9
-#, no-wrap
-msgid "radar(cat, 0, 45, 0, 20);"
-msgstr ""
-
-#. type: Source code
-#: ../E/detect.txt:14
-#, no-wrap
-msgid ""
-"int bots[4];\n"
-"bots[0] = WheeledGrabber;\n"
-"bots[1] = TrackedGrabber;\n"
-"bots[2] = WingedGrabber;\n"
-"bots[3] = LeggedGrabber;\n"
-"object nearestGrabber = radar(bots);"
-msgstr ""
-
-#. type: Plain text
-#: ../E/detect.txt:24
-#, no-wrap
-msgid ""
-"true if the object was found\n"
-"false if the object was not found"
+msgid "Do not put a semicolon at the end of the switch ( ) { } instruction."
msgstr ""
#. type: \b; header
-#: ../E/radar.txt:1
+#: ../E/takeoff.txt:1
#, no-wrap
-msgid "Instruction radar"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:2
-#, no-wrap
-msgid "With the instruction radar(), you can look for objects like enemies, bots, buildings or raw materials."
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:5
-#, no-wrap
-msgid "Write in brackets the name of the object that you look for. Put the result in a variable of the typeobject. Here is an example that looks for the closest ant:"
+msgid "Instruction takeoff"
msgstr ""
#. type: Source code
-#: ../E/radar.txt:7
+#: ../E/takeoff.txt:3
+#, no-wrap
+msgid "object.takeoff ( );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/takeoff.txt:5
+#, no-wrap
+msgid "Takes off the spaceship."
+msgstr ""
+
+#. type: Plain text
+#: ../E/takeoff.txt:8
+#, no-wrap
+msgid "SpaceShip"
+msgstr ""
+
+#. type: Plain text
+#: ../E/takeoff.txt:11
#, no-wrap
msgid ""
-"// At the beginning of the program:\n"
-"object item; // variable declaration\n"
-"\n"
-"// Look for the closest ant\n"
-"item = radar(AlienAnt);"
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by takeoff().\n"
+"== 0 Spaceship takes off\n"
+"!= 0 Spaceship could not take off (e.g. mission is not finished yet)"
+msgstr ""
+
+#. type: \b; header
+#: ../E/tan.txt:1
+#, no-wrap
+msgid "Instruction tan"
msgstr ""
#. type: Source code
-#: ../E/radar.txt:15
+#: ../E/tan.txt:3
#, no-wrap
-msgid "radar ( cat, angle, focus, min, max, sens, filter );"
+msgid "tan ( angle );"
msgstr ""
#. type: Plain text
-#: ../E/radar.txt:17
+#: ../E/tan.txt:6
#, no-wrap
-msgid "Detects an object according to several parameters. "
-msgstr ""
-
-#. type: Image filename
-#: ../E/radar.txt:19
-#, no-wrap
-msgid "radar1"
+msgid "Angle in degrees (except multiples of 90)."
msgstr ""
#. type: Plain text
-#: ../E/radar.txt:20
+#: ../E/tan.txt:9
#, no-wrap
-msgid "Seen from above, the purple zone corresponds to the zone where objects will be detected. "
+msgid "Tangent of the angle."
+msgstr ""
+
+#. type: \b; header
+#: ../E/trunc.txt:1
+#, no-wrap
+msgid "Instruction trunc"
msgstr ""
#. type: Source code
-#: ../E/radar.txt:26
+#: ../E/trunc.txt:3
#, no-wrap
-msgid ""
-"bots[0] = WheeledGrabber;\n"
-"bots[1] = TrackedGrabber;\n"
-"bots[2] = WingedGrabber;\n"
-"bots[3] = LeggedGrabber;\n"
-"object nearestGrabber = radar(bots);"
-msgstr ""
-
-#. type: Bullet: 'o'
-#: ../E/radar.txt:31
-#, no-wrap
-msgid "Keyword Any if you are looking for any object (including even plants and so on). Filters may be useful to use with this keyword."
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:33
-#, no-wrap
-msgid "angle: float (default value: 0)"
+msgid "trunc ( value );"
msgstr ""
#. type: Plain text
-#: ../E/radar.txt:34
+#: ../E/trunc.txt:4
#, no-wrap
-msgid ""
-"Direction that the radar is facing, in degrees. \n"
-" 0 -> radar is facing straight ahead\n"
-"-90 -> radar is facing a quarter turn right\n"
-" 90 -> radar is facing a quarter turn left"
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:39
-#, no-wrap
-msgid "focus: float (default value: 360)"
+msgid "Truncation is a method of approximating a decimal number by dropping all decimal places past a certain point without rounding. For positive numbers, it works like the floor(); function, and for negative numbers, it works like the ceil(); function. It can be said that it rounds towards zero."
msgstr ""
#. type: Plain text
-#: ../E/radar.txt:40
+#: ../E/trunc.txt:10
#, no-wrap
-msgid "Opening angle of the radar, in degrees. "
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:42
-#, no-wrap
-msgid "min: float (default value: 0)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:43
-#, no-wrap
-msgid "Minimum detection distance, in meters. Objects that are closer than the minimum distance will not be detected. "
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:45
-#, no-wrap
-msgid "max: float (default value: 1000)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:46
-#, no-wrap
-msgid "Maximum detection distance, in meters. Objects that are farther away than the maximum distance will not be detected. "
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:48
-#, no-wrap
-msgid "sens: float (default value: 1)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:49
-#, no-wrap
-msgid "Determines which way the objects are detected. With value 1, returns the closest object found in the specified zone. With value -1, the farthest object in the zone will be returned. "
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:51
-#, no-wrap
-msgid "filter: int (default value: FilterNone)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:52
-#, no-wrap
-msgid "Determines which type of objects should be detected. Especially useful in use with an array or Any. The following filters are available:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:54
-#, no-wrap
-msgid ""
-"FilterNoneDetects everything (default)\n"
-"FilterOnlyLandingDetects only objects being on the ground\n"
-"FilterOnlyFlyingDetects only objects not being on the ground\n"
-"FilterFriendlyDetects only allies (objects in the same team)\n"
-"FilterEnemyDetects only enemies (objects in an other team except neutral)\n"
-"FilterNeutralDetects only neutral objects (e.g. resources)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:61
-#, no-wrap
-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. Attention: you should use FilterNeutral instead of 0 or else it will not work."
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:63
-#, no-wrap
-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: Plain text
-#: ../E/radar.txt:66
-#, no-wrap
-msgid "Returns the first object found that corresponds to the specified category in the specified zone. If no object was found, returns the value null."
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:69
-#, no-wrap
-msgid "You do not have to give all the parameters. Here are two examples of instructions that are equivalent: "
-msgstr ""
-
-#. type: Source code
-#: ../E/radar.txt:71
-#, no-wrap
-msgid ""
-"\tradar(Titanium, 0, 360, 0, 1000);\n"
-"\tradar(Titanium); // equivalent"
-msgstr ""
-
-#. type: Source code
-#: ../E/radar.txt:74
-#, no-wrap
-msgid ""
-"\tradar(Titanium, 0, 90, 0, 1000);\n"
-"\tradar(Titanium, 0, 90); // equivalent"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:77
-#, no-wrap
-msgid ""
-"When one or more parameters are not specified, the default values indicated above are used instead; only the first parameter is compulsory.\n"
-"Generally, only the first parameter is specified: f. ex. radar (AlienAnt) detects the closest ant, wherever it may be. "
-msgstr ""
-
-#. type: Plain text
-#: ../E/detect.txt:2
-#, no-wrap
-msgid "With the instruction detect();, you can look for objects like enemies, bots, buildings or raw materials, which are in front of the bot. It is a simpler version of radar();."
-msgstr ""
-
-#. type: Bullet: 'o'
-#: ../E/detect.txt:13
-#, no-wrap
-msgid "Array of categories of the objects that should be detected. For example, when you are looking only for grabbers:"
+msgid "Truncated value. For example, trunc(-2.5) is -2.00."
msgstr ""
diff --git a/help/cbot/po/fr.po b/help/cbot/po/fr.po
index 6dbb1ea8..42ecc497 100644
--- a/help/cbot/po/fr.po
+++ b/help/cbot/po/fr.po
@@ -3560,24 +3560,156 @@ msgstr ""
"class, private\n"
"Programmation, types et catégories."
+#. type: \b; header
+#: ../E/radar.txt:1
+#, no-wrap
+msgid "Instruction radar"
+msgstr "Instruction radar"
+
+#. type: Plain text
+#: ../E/radar.txt:2
+#, no-wrap
+msgid "With the instruction radar(), you can look for objects like enemies, bots, buildings or raw materials."
+msgstr "Avec l'instruction radar(), le robot peut chercher des objets comme des ennemis, des robots ou des bâtiments."
+
+#. type: Plain text
+#: ../E/radar.txt:5
+#, no-wrap
+msgid "Write in brackets the name of the object that you look for. Put the result in a variable of the typeobject. Here is an example that looks for the closest ant:"
+msgstr "Donnez entre parenthèses le nom de l'objet que vous cherchez. Mettez le résultat dans une variable de typeobject. Voici par exemple comment chercher la fourmi la plus proche:"
+
+#. type: Source code
+#: ../E/radar.txt:7
+#, no-wrap
+msgid ""
+"// At the beginning of the program:\n"
+"object item; // variable declaration\n"
+"\n"
+"// Look for the closest ant\n"
+"item = radar(AlienAnt);"
+msgstr ""
+"// Tout au début du programme:\n"
+"object chose; // déclaration de la variable\n"
+"\n"
+"// Cherche la fourmi la plus proche\n"
+"chose = radar(AlienAnt);"
+
+#. type: Plain text
+#: ../E/radar.txt:17
+#, no-wrap
+msgid "Detects an object according to several parameters. "
+msgstr "Détecte un objet selon divers critères."
+
+#. type: Image filename
+#: ../E/radar.txt:19
+#, no-wrap
+msgid "radar1"
+msgstr "radar1"
+
+#. type: Plain text
+#: ../E/radar.txt:20
+#, no-wrap
+msgid "Seen from above, the purple zone corresponds to the zone where objects will be detected. "
+msgstr "La zone arrondie violette correspond, vue d'en haut, à la zone dans laquelle les objets sont détectés."
+
#. type: \t; header
#: ../E/search.txt:7
#, no-wrap
msgid "category: int"
msgstr "catégorie: int"
+#. type: Plain text
+#: ../E/radar.txt:34
+#, no-wrap
+msgid ""
+"Direction that the radar is facing, in degrees. \n"
+" 0 -> radar is facing straight ahead\n"
+"-90 -> radar is facing a quarter turn right\n"
+" 90 -> radar is facing a quarter turn left"
+msgstr ""
+"Direction dans laquelle est dirigé le radar, en degrés.\n"
+" 0 -> radar dirigé droit devant\n"
+"-90 -> radar dirigé à gauche\n"
+" 90 -> radar dirigé à droite"
+
+#. type: Plain text
+#: ../E/radar.txt:40
+#, no-wrap
+msgid "Opening angle of the radar, in degrees. "
+msgstr "Angle d'ouverture du radar, en degrés."
+
+#. type: Plain text
+#: ../E/radar.txt:43
+#, no-wrap
+msgid "Minimum detection distance, in meters. Objects that are closer than the minimum distance will not be detected. "
+msgstr "Distance minimale de détection, en mètres. Avant cette distance, les objets sont ignorés."
+
+#. type: Plain text
+#: ../E/radar.txt:46
+#, no-wrap
+msgid "Maximum detection distance, in meters. Objects that are farther away than the maximum distance will not be detected. "
+msgstr "Distance maximale de détection, en mètres. Au delà de cette distance, les objets sont ignorés."
+
+#. type: Plain text
+#: ../E/radar.txt:49
+#, no-wrap
+msgid "Determines which way the objects are detected. With value 1, returns the closest object found in the specified zone. With value -1, the farthest object in the zone will be returned. "
+msgstr "Sens dans lequel s'effectue la recherche. Avec la valeur 1, on cherche de l'intérieur vers l'extérieur. Autrement dit, c'est l'objet le plus proche qui est trouvé. Avec -1, on cherche de l'extérieur vers l'intérieur. On trouvera donc l'objet le plus éloigné."
+
#. type: \t; header
#: ../E/radar.txt:65 ../E/retobj.txt:10 ../E/search.txt:22
#, no-wrap
msgid "Return value: object"
msgstr "Valeur retournée: object"
+#. type: Plain text
+#: ../E/radar.txt:66
+#, no-wrap
+msgid "Returns the first object found that corresponds to the specified category in the specified zone. If no object was found, returns the value null."
+msgstr "Objet trouvé le plus proche. La valeur null indique que rien n'a été trouvé."
+
#. type: \t; header
#: ../E/cond.txt:21 ../E/radar.txt:68
#, no-wrap
msgid "Remark"
msgstr "Remarque"
+#. type: Plain text
+#: ../E/radar.txt:69
+#, no-wrap
+msgid "You do not have to give all the parameters. Here are two examples of instructions that are equivalent: "
+msgstr "Il n'est pas nécessaire de donner tous les paramètres. Voici deux exemples identiques:"
+
+#. type: Source code
+#: ../E/radar.txt:71
+#, no-wrap
+msgid ""
+"\tradar(Titanium, 0, 360, 0, 1000);\n"
+"\tradar(Titanium); // equivalent"
+msgstr ""
+"\tradar(Titanium, 0, 360, 0, 1000);\n"
+"\tradar(Titanium); // identique"
+
+#. type: Source code
+#: ../E/radar.txt:74
+#, no-wrap
+msgid ""
+"\tradar(Titanium, 0, 90, 0, 1000);\n"
+"\tradar(Titanium, 0, 90); // equivalent"
+msgstr ""
+"\tradar(Titanium, 0, 90, 0, 1000);\n"
+"\tradar(Titanium, 0, 90); // identique"
+
+#. type: Plain text
+#: ../E/radar.txt:77
+#, no-wrap
+msgid ""
+"When one or more parameters are not specified, the default values indicated above are used instead; only the first parameter is compulsory.\n"
+"Generally, only the first parameter is specified: f. ex. radar (AlienAnt) detects the closest ant, wherever it may be. "
+msgstr ""
+"En fait, lorsque des paramètres manquent, ils prennent les valeurs par défaut indiquées plus haut. Le premier paramètre catégorie est obligatoire. Les cinq paramètres suivants sont facultatifs, et sont remplacés par 0, 360, 0, 1000 et 1 s'ils manquent.\n"
+"Ceci est très utile. En effet, radar(XXX) trouve l'objet le plus proche, où qu'il soit."
+
#. type: \b; header
#: ../E/readln.txt:1
#, no-wrap
@@ -5799,122 +5931,6 @@ msgstr ""
"file, open, close, readln et eof.\n"
"Programmation, types et catégories."
-#. type: Plain text
-#: ../E/for.txt:19
-#, no-wrap
-msgid ""
-"Example: count from 1 to 4\n"
-"for ( i = 1 ; i <= 4 ; i++ )"
-msgstr ""
-
-#. type: Source code
-#: ../E/build.txt:15
-#, no-wrap
-msgid "build ( cat );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:17
-#, no-wrap
-msgid "Tells the robot to build a building using a titanium cube placed on a flat ground nearby."
-msgstr ""
-
-#. type: \t; header
-#: ../E/build.txt:19 ../E/buildingenabled.txt:16 ../E/canbuild.txt:16 ../E/detect.txt:11 ../E/factory.txt:10 ../E/radar.txt:22
-#, no-wrap
-msgid "cat: int"
-msgstr ""
-
-#. type: \b; header
-#: ../E/build.txt:1
-#, no-wrap
-msgid "Instruction build"
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:23
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by build().\n"
-"== 0 Successfully built\n"
-"!= 0 Impossible to build (for example, the nearest titanium cube is too far away or the specified building is not available in the mission)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:7
-#, no-wrap
-msgid "Here is an example of a program that looks for the nearest titanium cube, goes to the position and builds a bot factory."
-msgstr ""
-
-#. type: Source code
-#: ../E/build.txt:9
-#, no-wrap
-msgid ""
-" object item = radar(Titanium);\n"
-" goto(item.position);\n"
-" build(BotFactory);"
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:5
-#, no-wrap
-msgid "This command is mostly useful in an attempt to build a fully automatised base, where an astronaut does not need to do anything except starting a program and watching bots working. What is more, it makes beating the game by using only programming a possible task (however, it is a challenge rather for experienced gamers, who beat the whole game at least once)."
-msgstr ""
-
-#. type: Source code
-#: ../E/aim.txt:3
-#, no-wrap
-msgid "aim ( y, x );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/aim.txt:10
-#, no-wrap
-msgid "When controlling the robot through programming, the gun can be also turned left or right by turning the whole robot with the instruction turn."
-msgstr ""
-
-#. type: \t; header
-#: ../E/aim.txt:12 ../E/atan2.txt:7 ../E/pow.txt:8
-#, no-wrap
-msgid "y: float"
-msgstr ""
-
-#. type: \t; header
-#: ../E/atan2.txt:10 ../E/pow.txt:5
-#, no-wrap
-msgid "x: float"
-msgstr ""
-
-#. type: Plain text
-#: ../E/aim.txt:5
-#, no-wrap
-msgid "This instruction sets the vertical and the horizontal angle of the cannon. The following robots are equipped with a cannon: "
-msgstr ""
-
-#. type: \b; header
-#: ../E/rand.txt:1
-#, no-wrap
-msgid "Instruction rand"
-msgstr ""
-
-#. type: Source code
-#: ../E/rand.txt:3
-#, no-wrap
-msgid "rand ( );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/rand.txt:6
-#, no-wrap
-msgid "Pseudorandom number between 0 and 1 (including 0, but excluding 1)."
-msgstr ""
-
-#. type: Plain text
-#: ../E/acos.txt:12 ../E/asin.txt:12 ../E/atan.txt:12 ../E/atan2.txt:17 ../E/cos.txt:12 ../E/pow.txt:15 ../E/rand.txt:9 ../E/sin.txt:12 ../E/sqrt.txt:12 ../E/tan.txt:12
-#, no-wrap
-msgid "Programming, types and expressions."
-msgstr ""
-
#. type: \b; header
#: ../E/acos.txt:1
#, no-wrap
@@ -5939,6 +5955,54 @@ msgstr ""
msgid "Number between -1 and 1 (including both)."
msgstr ""
+#. type: Plain text
+#: ../E/acos.txt:9
+#, no-wrap
+msgid "Arcus cosine (in degrees) of the value."
+msgstr ""
+
+#. type: Plain text
+#: ../E/acos.txt:12 ../E/asin.txt:12 ../E/atan.txt:12 ../E/atan2.txt:17 ../E/cos.txt:12 ../E/pow.txt:15 ../E/rand.txt:9 ../E/sin.txt:12 ../E/sqrt.txt:12 ../E/tan.txt:12
+#, no-wrap
+msgid "Programming, types and expressions."
+msgstr ""
+
+#. type: Source code
+#: ../E/aim.txt:3
+#, no-wrap
+msgid "aim ( y, x );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/aim.txt:5
+#, no-wrap
+msgid "This instruction sets the vertical and the horizontal angle of the cannon. The following robots are equipped with a cannon: "
+msgstr ""
+
+#. type: Plain text
+#: ../E/aim.txt:10
+#, no-wrap
+msgid "When controlling the robot through programming, the gun can be also turned left or right by turning the whole robot with the instruction turn."
+msgstr ""
+
+#. type: \t; header
+#: ../E/aim.txt:12 ../E/atan2.txt:7 ../E/pow.txt:8
+#, no-wrap
+msgid "y: float"
+msgstr ""
+
+#. type: \t; header
+#: ../E/aim.txt:15
+#, no-wrap
+msgid "x: float (default value: 0)"
+msgstr ""
+
+#. type: Plain text
+#: ../E/aim.txt:16
+#, no-wrap
+msgid "Angle in degrees of the gun relative to the robot. A positive value orients the gun to the right. The angle must range from -40 to +40 degrees for all shooters."
+msgstr ""
+
#. type: \b; header
#: ../E/asin.txt:1
#, no-wrap
@@ -5951,6 +6015,12 @@ msgstr ""
msgid "asin ( value );"
msgstr ""
+#. type: Plain text
+#: ../E/asin.txt:9
+#, no-wrap
+msgid "Arcus sine (in degrees) of the value."
+msgstr ""
+
#. type: \b; header
#: ../E/atan.txt:1
#, no-wrap
@@ -5969,6 +6039,451 @@ msgstr ""
msgid "Number."
msgstr ""
+#. type: Plain text
+#: ../E/atan.txt:9
+#, no-wrap
+msgid "Arcus tangent (in degrees) of the value."
+msgstr ""
+
+#. type: \b; header
+#: ../E/atan2.txt:1
+#, no-wrap
+msgid "Instruction atan2"
+msgstr ""
+
+#. type: Source code
+#: ../E/atan2.txt:3
+#, no-wrap
+msgid "atan2 ( y, x );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/atan2.txt:5
+#, no-wrap
+msgid "The purpose of using two arguments instead of one is to gather information on the signs of the inputs in order to return the appropriate quadrant of the computed angle, which is not possible for the single-argument atan(); function. For example, consider a point (-1, -1): atan(-1/-1); is 45.00 degrees, whereas atan2(-1, -1); is -135.00 degrees, which is obviously more correct in this case."
+msgstr ""
+
+#. type: \t; header
+#: ../E/atan2.txt:10 ../E/pow.txt:5
+#, no-wrap
+msgid "x: float"
+msgstr ""
+
+#. type: Plain text
+#: ../E/atan2.txt:14
+#, no-wrap
+msgid "Arcus tangent (in degrees) of y/x."
+msgstr ""
+
+#. type: \b; header
+#: ../E/build.txt:1
+#, no-wrap
+msgid "Instruction build"
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:2
+#, no-wrap
+msgid "The instruction build(); instructs the bot to build a building of the given category. Currently works for Grabbers, Me and Tech."
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:5
+#, no-wrap
+msgid "This command is mostly useful in an attempt to build a fully automatised base, where an astronaut does not need to do anything except starting a program and watching bots working. What is more, it makes beating the game by using only programming a possible task (however, it is a challenge rather for experienced gamers, who beat the whole game at least once)."
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:7
+#, no-wrap
+msgid "Here is an example of a program that looks for the nearest titanium cube, goes to the position and builds a bot factory."
+msgstr ""
+
+#. type: Source code
+#: ../E/build.txt:9
+#, no-wrap
+msgid ""
+" object item = radar(Titanium);\n"
+" goto(item.position);\n"
+" build(BotFactory);"
+msgstr ""
+
+#. type: Source code
+#: ../E/build.txt:15
+#, no-wrap
+msgid "build ( cat );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:17
+#, no-wrap
+msgid "Tells the robot to build a building using a titanium cube placed on a flat ground nearby."
+msgstr ""
+
+#. type: \t; header
+#: ../E/build.txt:19 ../E/buildingenabled.txt:16 ../E/canbuild.txt:16 ../E/detect.txt:11 ../E/factory.txt:10 ../E/radar.txt:22
+#, no-wrap
+msgid "cat: int"
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:20 ../E/buildingenabled.txt:17 ../E/canbuild.txt:17
+#, no-wrap
+msgid "Category of a building."
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:23
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by build().\n"
+"== 0 Successfully built\n"
+"!= 0 Impossible to build (for example, the nearest titanium cube is too far away or the specified building is not available in the mission)"
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:28
+#, no-wrap
+msgid "canbuild, buildingenabled, programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: ../E/buildingenabled.txt:1
+#, no-wrap
+msgid "Instruction buildingenabled"
+msgstr ""
+
+#. type: Plain text
+#: ../E/buildingenabled.txt:2
+#, no-wrap
+msgid "The instruction buildingenabled(); lets you know if a building of the given category can be built in the level."
+msgstr ""
+
+#. type: Plain text
+#: ../E/buildingenabled.txt:5
+#, no-wrap
+msgid "It is similar to the canbuild(); instruction. However, it does not check if a required research has been done."
+msgstr ""
+
+#. type: Source code
+#: ../E/buildingenabled.txt:7
+#, no-wrap
+msgid ""
+" if (buildingenabled(BotFactory))\n"
+" {\n"
+" \tbuild(BotFactory);\n"
+" }"
+msgstr ""
+
+#. type: Source code
+#: ../E/buildingenabled.txt:14
+#, no-wrap
+msgid "buildingenabled ( cat );"
+msgstr ""
+
+#. type: \t; header
+#: ../E/buildingenabled.txt:19 ../E/busy.txt:10 ../E/canbuild.txt:19 ../E/canresearch.txt:10 ../E/detect.txt:23 ../E/researched.txt:10
+#, no-wrap
+msgid "Return value: bool"
+msgstr ""
+
+#. type: Plain text
+#: ../E/buildingenabled.txt:20
+#, no-wrap
+msgid "true if the building can be built in the level even if required research has not been done, false otherwise."
+msgstr ""
+
+#. type: Plain text
+#: ../E/buildingenabled.txt:23
+#, no-wrap
+msgid "build, canbuild, ResearchCenter, programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: ../E/busy.txt:1
+#, no-wrap
+msgid "Instruction busy"
+msgstr ""
+
+#. type: Source code
+#: ../E/busy.txt:3
+#, no-wrap
+msgid "object.busy ( );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/busy.txt:5
+#, no-wrap
+msgid "Checks if the object is busy."
+msgstr ""
+
+#. type: \t; header
+#: ../E/busy.txt:7 ../E/destroy.txt:7 ../E/factory.txt:7 ../E/research.txt:7 ../E/takeoff.txt:7
+#, no-wrap
+msgid "object"
+msgstr ""
+
+#. type: Plain text
+#: ../E/busy.txt:8
+#, no-wrap
+msgid "Any building which can take some action (e.g. Converter)."
+msgstr ""
+
+#. type: Plain text
+#: ../E/busy.txt:11
+#, no-wrap
+msgid ""
+"true if the object is doing something (e.g. converting)\n"
+"false if the object is not doing anything"
+msgstr ""
+
+#. type: \b; header
+#: ../E/canbuild.txt:1
+#, no-wrap
+msgid "Instruction canbuild"
+msgstr ""
+
+#. type: Plain text
+#: ../E/canbuild.txt:2
+#, no-wrap
+msgid "The instruction canbuild(); lets you know if Grabbers, Me or Tech can build a building of the given category. "
+msgstr ""
+
+#. type: Plain text
+#: ../E/canbuild.txt:5
+#, no-wrap
+msgid "It helps to prevent errors in programs using the build(); instruction. Here is an example:"
+msgstr ""
+
+#. type: Source code
+#: ../E/canbuild.txt:7
+#, no-wrap
+msgid ""
+" if (canbuild(BotFactory))\n"
+" {\n"
+" \tbuild(BotFactory);\n"
+" }"
+msgstr ""
+
+#. type: Source code
+#: ../E/canbuild.txt:14
+#, no-wrap
+msgid "canbuild ( cat );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/canbuild.txt:20
+#, no-wrap
+msgid "true if the building can be built, false otherwise."
+msgstr ""
+
+#. type: Plain text
+#: ../E/canbuild.txt:23
+#, no-wrap
+msgid "build, buildingenabled, programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: ../E/canresearch.txt:1
+#, no-wrap
+msgid "Instruction canresearch"
+msgstr ""
+
+#. type: Source code
+#: ../E/canresearch.txt:3
+#, no-wrap
+msgid "canresearch ( research );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/canresearch.txt:5
+#, no-wrap
+msgid "Checks if the research can be done in the level."
+msgstr ""
+
+#. type: \t; header
+#: ../E/canresearch.txt:7 ../E/researched.txt:7
+#, no-wrap
+msgid "research: int"
+msgstr ""
+
+#. type: Plain text
+#: ../E/canresearch.txt:8 ../E/research.txt:11 ../E/researched.txt:8
+#, no-wrap
+msgid "Research name."
+msgstr ""
+
+#. type: Plain text
+#: ../E/canresearch.txt:11
+#, no-wrap
+msgid ""
+"true if the research can be done (even if it is already done, to check that, use the researched instruction)\n"
+"false if the research cannot be done"
+msgstr ""
+
+#. type: Plain text
+#: ../E/canresearch.txt:15
+#, no-wrap
+msgid "Research names, research, researched, programming, types and categories."
+msgstr ""
+
+#. type: Plain text
+#: ../E/category.txt:6
+#, no-wrap
+msgid "Below are the different categories available:"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:8
+#, no-wrap
+msgid "Buildings:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/category.txt:10
+#, no-wrap
+msgid ""
+" HoustonMission Control\n"
+" SpaceShipSpaceship\n"
+" BotFactoryRobot Factory\n"
+" ResearchCenterResearch Center\n"
+" RadarStationRadar\n"
+" ExchangePostInformation Exchange Post\n"
+" RepairCenterRepair Center\n"
+" DefenseTowerDefense Tower\n"
+" AutoLabOrganic Matter Analyzer \n"
+" PowerStationPower Station\n"
+" PowerPlantPower Cell Factory\n"
+" NuclearPlantNuclear Plant\n"
+" ConverterTitanium Converter\n"
+" DerrickDerrick\n"
+" PowerCaptorParabolic Lightning Conductor\n"
+" VaultVault\n"
+" StartAreaStarting Pad\n"
+" GoalAreaFinishing Pad\n"
+" AlienNestAlien Nest"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:31
+#, no-wrap
+msgid "Portable Objects:"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:44
+#, no-wrap
+msgid "Robots:"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:76
+#, no-wrap
+msgid "Enemies:"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:86
+#, no-wrap
+msgid "Miscellaneous:"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:95
+#, no-wrap
+msgid "Flags and Other Indicators:"
+msgstr ""
+
+#. type: \b; header
+#: ../E/ceil.txt:1
+#, no-wrap
+msgid "Instruction ceil"
+msgstr ""
+
+#. type: Source code
+#: ../E/ceil.txt:3
+#, no-wrap
+msgid "ceil ( value );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/ceil.txt:4
+#, no-wrap
+msgid "Rounds up a number."
+msgstr ""
+
+#. type: Plain text
+#: ../E/ceil.txt:10
+#, no-wrap
+msgid "Ceiling of the value, i.e. the smallest integer not less than value. For example, ceil(2.1) is 3.0."
+msgstr ""
+
+#. type: Plain text
+#: ../E/ceil.txt:13 ../E/floor.txt:13 ../E/trunc.txt:13
+#, no-wrap
+msgid "round, programming, types and expressions."
+msgstr ""
+
+#. type: \b; header
+#: ../E/colors.txt:1
+#, no-wrap
+msgid "Value Colors"
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:2
+#, no-wrap
+msgid "Color names are used to define a specific color to use. They can be passed to functions like pendown or pencolor."
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:4
+#, no-wrap
+msgid "In a program, colors are always displayed on a red background. If a color isn't highlighted in red, it is misspelled. Caps and lower cases should be kept as is."
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:6
+#, no-wrap
+msgid "Below are the different colors available:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:8
+#, no-wrap
+msgid ""
+"White\n"
+"Black\n"
+"Gray\n"
+"LightGray\n"
+"Red\n"
+"Pink\n"
+"Purple\n"
+"Orange\n"
+"Yellow\n"
+"Beige\n"
+"Brown\n"
+"Skin\n"
+"Green\n"
+"LightGreen\n"
+"Blue\n"
+"LightBlue"
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:25
+#, no-wrap
+msgid "You can also draw colored symbols:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:27
+#, no-wrap
+msgid ""
+"BlackArrow\n"
+"RedArrow"
+msgstr ""
+
#. type: \b; header
#: ../E/cos.txt:1
#, no-wrap
@@ -5994,287 +6509,191 @@ msgid "Cosine of the angle."
msgstr ""
#. type: \b; header
-#: ../E/pow.txt:1
+#: ../E/destroy.txt:1
#, no-wrap
-msgid "Instruction pow"
+msgid "Instruction destroy"
msgstr ""
#. type: Source code
-#: ../E/pow.txt:3
+#: ../E/destroy.txt:3
#, no-wrap
-msgid "pow ( x, y );"
+msgid "object.destroy ( );"
msgstr ""
#. type: Plain text
-#: ../E/pow.txt:6
+#: ../E/destroy.txt:5
#, no-wrap
-msgid "Base."
+msgid "Destroys an object."
msgstr ""
#. type: Plain text
-#: ../E/pow.txt:9
+#: ../E/destroy.txt:8
#, no-wrap
-msgid "Exponent."
+msgid "Destroyer."
msgstr ""
#. type: Plain text
-#: ../E/pow.txt:12
+#: ../E/destroy.txt:11
#, no-wrap
-msgid "x to the y (x raised to the yth power)."
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by destroy().\n"
+"== 0 The operation of destroying of an object was started\n"
+"!= 0 The instruction could not be done (e.g. nothing to destroy)"
msgstr ""
#. type: \b; header
-#: ../E/sin.txt:1
+#: ../E/detect.txt:1
#, no-wrap
-msgid "Instruction sin"
-msgstr ""
-
-#. type: Source code
-#: ../E/sin.txt:3
-#, no-wrap
-msgid "sin ( angle );"
+msgid "Instruction detect"
msgstr ""
#. type: Plain text
-#: ../E/sin.txt:9
+#: ../E/detect.txt:2
#, no-wrap
-msgid "Sine of the angle."
+msgid "With the instruction detect();, you can look for objects like enemies, bots, buildings or raw materials, which are in front of the bot. It is a simpler version of radar();."
+msgstr ""
+
+#. type: Source code
+#: ../E/detect.txt:6
+#, no-wrap
+msgid "detect ( cat );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/detect.txt:8
+#, no-wrap
+msgid "Detects the nearest object of the specified category being in front of the bot. It is similar to the following instruction:"
+msgstr ""
+
+#. type: Source code
+#: ../E/detect.txt:9
+#, no-wrap
+msgid "radar(cat, 0, 45, 0, 20);"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: ../E/detect.txt:12 ../E/radar.txt:23
+#, no-wrap
+msgid "Category of the objects that should be detected. For example, when you are looking for an ant, write radar(AlienAnt). "
+msgstr ""
+
+#. type: Bullet: 'o'
+#: ../E/detect.txt:13
+#, no-wrap
+msgid "Array of categories of the objects that should be detected. For example, when you are looking only for grabbers:"
+msgstr ""
+
+#. type: Source code
+#: ../E/detect.txt:14
+#, no-wrap
+msgid ""
+"int bots[4];\n"
+"bots[0] = WheeledGrabber;\n"
+"bots[1] = TrackedGrabber;\n"
+"bots[2] = WingedGrabber;\n"
+"bots[3] = LeggedGrabber;\n"
+"object nearestGrabber = radar(bots);"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: ../E/detect.txt:21 ../E/search.txt:17
+#, no-wrap
+msgid "Keyword Any if you are looking for any object (including even plants and so on)."
+msgstr ""
+
+#. type: Plain text
+#: ../E/detect.txt:24
+#, no-wrap
+msgid ""
+"true if the object was found\n"
+"false if the object was not found"
msgstr ""
#. type: \b; header
-#: ../E/sqrt.txt:1
+#: ../E/factory.txt:1
#, no-wrap
-msgid "Instruction sqrt"
+msgid "Instruction factory"
msgstr ""
#. type: Source code
-#: ../E/sqrt.txt:3
+#: ../E/factory.txt:3
#, no-wrap
-msgid "sqrt ( value );"
+msgid "object.factory ( cat, program );"
msgstr ""
#. type: Plain text
-#: ../E/sqrt.txt:6
+#: ../E/factory.txt:5
#, no-wrap
-msgid "Non-negative number."
+msgid "Starts a construction of a bot of the given category and runs the specified program on it after the construction is finished."
msgstr ""
#. type: Plain text
-#: ../E/sqrt.txt:9
+#: ../E/factory.txt:8
#, no-wrap
-msgid "Square root of the value."
-msgstr ""
-
-#. type: \b; header
-#: ../E/tan.txt:1
-#, no-wrap
-msgid "Instruction tan"
-msgstr ""
-
-#. type: Source code
-#: ../E/tan.txt:3
-#, no-wrap
-msgid "tan ( angle );"
+msgid "BotFactory"
msgstr ""
#. type: Plain text
-#: ../E/tan.txt:9
+#: ../E/factory.txt:11
#, no-wrap
-msgid "Tangent of the angle."
-msgstr ""
-
-#. type: Plain text
-#: ../E/acos.txt:9
-#, no-wrap
-msgid "Arcus cosine (in degrees) of the value."
-msgstr ""
-
-#. type: Plain text
-#: ../E/asin.txt:9
-#, no-wrap
-msgid "Arcus sine (in degrees) of the value."
-msgstr ""
-
-#. type: Plain text
-#: ../E/atan.txt:9
-#, no-wrap
-msgid "Arcus tangent (in degrees) of the value."
-msgstr ""
-
-#. type: Plain text
-#: ../E/tan.txt:6
-#, no-wrap
-msgid "Angle in degrees (except multiples of 90)."
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:28
-#, no-wrap
-msgid "canbuild, buildingenabled, programming, types and categories."
-msgstr ""
-
-#. type: \b; header
-#: ../E/canbuild.txt:1
-#, no-wrap
-msgid "Instruction canbuild"
-msgstr ""
-
-#. type: Source code
-#: ../E/canbuild.txt:14
-#, no-wrap
-msgid "canbuild ( cat );"
+msgid "Category of the robot to construct."
msgstr ""
#. type: \t; header
-#: ../E/buildingenabled.txt:19 ../E/busy.txt:10 ../E/canbuild.txt:19 ../E/canresearch.txt:10 ../E/detect.txt:23 ../E/researched.txt:10
+#: ../E/factory.txt:13
#, no-wrap
-msgid "Return value: bool"
+msgid "program: string (default value: \"\")"
msgstr ""
#. type: Plain text
-#: ../E/canbuild.txt:20
+#: ../E/factory.txt:14
#, no-wrap
-msgid "true if the building can be built, false otherwise."
+msgid "Program that will be run on the bot after factory finishes the construction. This can be either a publicfunction, a filename or just a raw source code."
msgstr ""
#. type: Plain text
-#: ../E/canbuild.txt:23
-#, no-wrap
-msgid "build, buildingenabled, programming, types and categories."
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:20 ../E/buildingenabled.txt:17 ../E/canbuild.txt:17
-#, no-wrap
-msgid "Category of a building."
-msgstr ""
-
-#. type: \b; header
-#: ../E/buildingenabled.txt:1
-#, no-wrap
-msgid "Instruction buildingenabled"
-msgstr ""
-
-#. type: Plain text
-#: ../E/buildingenabled.txt:2
-#, no-wrap
-msgid "The instruction buildingenabled(); lets you know if a building of the given category can be built in the level."
-msgstr ""
-
-#. type: Source code
-#: ../E/buildingenabled.txt:7
+#: ../E/factory.txt:17
#, no-wrap
msgid ""
-" if (buildingenabled(BotFactory))\n"
-" {\n"
-" \tbuild(BotFactory);\n"
-" }"
-msgstr ""
-
-#. type: Source code
-#: ../E/buildingenabled.txt:14
-#, no-wrap
-msgid "buildingenabled ( cat );"
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by factory().\n"
+"== 0 The construction successfully started\n"
+"!= 0 The construction could not be started (e.g. no Titanium in the factory, the bot is not researched)"
msgstr ""
#. type: Plain text
-#: ../E/buildingenabled.txt:20
+#: ../E/factory.txt:22
#, no-wrap
-msgid "true if the building can be built in the level even if required research has not been done, false otherwise."
-msgstr ""
-
-#. type: Plain text
-#: ../E/buildingenabled.txt:23
-#, no-wrap
-msgid "build, canbuild, ResearchCenter, programming, types and categories."
-msgstr ""
-
-#. type: Source code
-#: ../E/canbuild.txt:7
-#, no-wrap
-msgid ""
-" if (canbuild(BotFactory))\n"
-" {\n"
-" \tbuild(BotFactory);\n"
-" }"
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:2
-#, no-wrap
-msgid "The instruction build(); instructs the bot to build a building of the given category. Currently works for Grabbers, Me and Tech."
-msgstr ""
-
-#. type: Plain text
-#: ../E/buildingenabled.txt:5
-#, no-wrap
-msgid "It is similar to the canbuild(); instruction. However, it does not check if a required research has been done."
-msgstr ""
-
-#. type: Plain text
-#: ../E/canbuild.txt:2
-#, no-wrap
-msgid "The instruction canbuild(); lets you know if Grabbers, Me or Tech can build a building of the given category. "
-msgstr ""
-
-#. type: Plain text
-#: ../E/canbuild.txt:5
-#, no-wrap
-msgid "It helps to prevent errors in programs using the build(); instruction. Here is an example:"
+msgid "researched, wait, programming, types and categories."
msgstr ""
#. type: \b; header
-#: ../E/atan2.txt:1
+#: ../E/flatspace.txt:1
#, no-wrap
-msgid "Instruction atan2"
+msgid "Instruction flatspace"
msgstr ""
#. type: Source code
-#: ../E/atan2.txt:3
+#: ../E/flatspace.txt:3
#, no-wrap
-msgid "atan2 ( y, x );"
+msgid "flatspace ( center, flatmin, rmin, rmax, dist );"
msgstr ""
#. type: Plain text
-#: ../E/atan2.txt:14
+#: ../E/flatspace.txt:5
#, no-wrap
-msgid "Arcus tangent (in degrees) of y/x."
+msgid "Determines the position of the nearest free space with at least flatmin of flat ground around a given position. Works similar to space();. Useful for finding a place for a building."
+msgstr ""
+
+#. type: \t; header
+#: ../E/flatspace.txt:10
+#, no-wrap
+msgid "flatmin: float"
msgstr ""
#. type: Plain text
-#: ../E/atan2.txt:5
+#: ../E/flatspace.txt:11
#, no-wrap
-msgid "The purpose of using two arguments instead of one is to gather information on the signs of the inputs in order to return the appropriate quadrant of the computed angle, which is not possible for the single-argument atan(); function. For example, consider a point (-1, -1): atan(-1/-1); is 45.00 degrees, whereas atan2(-1, -1); is -135.00 degrees, which is obviously more correct in this case."
-msgstr ""
-
-#. type: \b; header
-#: ../E/ceil.txt:1
-#, no-wrap
-msgid "Instruction ceil"
-msgstr ""
-
-#. type: Source code
-#: ../E/ceil.txt:3
-#, no-wrap
-msgid "ceil ( value );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/floor.txt:4
-#, no-wrap
-msgid "Rounds down a number."
-msgstr ""
-
-#. type: Plain text
-#: ../E/ceil.txt:10
-#, no-wrap
-msgid "Ceiling of the value, i.e. the smallest integer not less than value. For example, ceil(2.1) is 3.0."
-msgstr ""
-
-#. type: Plain text
-#: ../E/ceil.txt:13 ../E/floor.txt:13 ../E/trunc.txt:13
-#, no-wrap
-msgid "round, programming, types and expressions."
+msgid "Minimum radius of flat ground around the desired position."
msgstr ""
#. type: \b; header
@@ -6290,9 +6709,9 @@ msgid "floor ( value );"
msgstr ""
#. type: Plain text
-#: ../E/ceil.txt:4
+#: ../E/floor.txt:4
#, no-wrap
-msgid "Rounds up a number."
+msgid "Rounds down a number."
msgstr ""
#. type: Plain text
@@ -6301,70 +6720,12 @@ msgstr ""
msgid "Floor of the value, i.e. the largest integer not greater than value. For example, floor(2.9) is 2.00."
msgstr ""
-#. type: \b; header
-#: ../E/round.txt:1
-#, no-wrap
-msgid "Instruction round"
-msgstr ""
-
-#. type: Source code
-#: ../E/round.txt:3
-#, no-wrap
-msgid "round ( value );"
-msgstr ""
-
#. type: Plain text
-#: ../E/round.txt:4
+#: ../E/for.txt:19
#, no-wrap
-msgid "Rounds a number."
-msgstr ""
-
-#. type: Plain text
-#: ../E/round.txt:10
-#, no-wrap
-msgid "Rounded value. For example, round(2.5) is 3.0, whereas round(2.4) is 2.0."
-msgstr ""
-
-#. type: \b; header
-#: ../E/trunc.txt:1
-#, no-wrap
-msgid "Instruction trunc"
-msgstr ""
-
-#. type: Source code
-#: ../E/trunc.txt:3
-#, no-wrap
-msgid "trunc ( value );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/trunc.txt:10
-#, no-wrap
-msgid "Truncated value. For example, trunc(-2.5) is -2.00."
-msgstr ""
-
-#. type: Plain text
-#: ../E/round.txt:13
-#, no-wrap
-msgid "trunc, floor, ceil, programming, types and expressions."
-msgstr ""
-
-#. type: Plain text
-#: ../E/trunc.txt:4
-#, no-wrap
-msgid "Truncation is a method of approximating a decimal number by dropping all decimal places past a certain point without rounding. For positive numbers, it works like the floor(); function, and for negative numbers, it works like the ceil(); function. It can be said that it rounds towards zero."
-msgstr ""
-
-#. type: Plain text
-#: ../E/aim.txt:16
-#, no-wrap
-msgid "Angle in degrees of the gun relative to the robot. A positive value orients the gun to the right. The angle must range from -40 to +40 degrees for all shooters."
-msgstr ""
-
-#. type: \t; header
-#: ../E/aim.txt:15
-#, no-wrap
-msgid "x: float (default value: 0)"
+msgid ""
+"Example: count from 1 to 4\n"
+"for ( i = 1 ; i <= 4 ; i++ )"
msgstr ""
#. type: Plain text
@@ -6397,6 +6758,12 @@ msgid ""
"}"
msgstr ""
+#. type: Plain text
+#: ../E/function.txt:14
+#, no-wrap
+msgid "Nothing but a name can be changed in the main function. The keyword extern distinguish the main function from others."
+msgstr ""
+
#. type: Plain text
#: ../E/function.txt:17
#, no-wrap
@@ -6445,12 +6812,34 @@ msgid ""
"}"
msgstr ""
+#. type: Plain text
+#: ../E/function.txt:47
+#, no-wrap
+msgid "Now the program is much easier to read. It is a good practice to split the program into several functions with self-describing names."
+msgstr ""
+
#. type: \b; header
#: ../E/function.txt:49
#, no-wrap
msgid "Syntax"
msgstr ""
+#. type: Source code
+#: ../E/function.txt:51
+#, no-wrap
+msgid ""
+"result_type FunctionName(optional_parameters)\n"
+"{\n"
+"\tbody\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: ../E/function.txt:56
+#, no-wrap
+msgid "Result type should be void if the function does not give any. Body is just a set of instructions. Function name must be created with the exact same rules applied to variables."
+msgstr ""
+
#. type: \t; header
#: ../E/function.txt:58
#, no-wrap
@@ -6463,6 +6852,18 @@ msgstr ""
msgid "A function can have parameters:"
msgstr ""
+#. type: Source code
+#: ../E/function.txt:61
+#, no-wrap
+msgid ""
+"void Example(int a, float x, string s)\n"
+"{\n"
+"\tmessage(a);\n"
+"\tmessage(x);\n"
+"\tmessage(s);\n"
+"}"
+msgstr ""
+
#. type: Plain text
#: ../E/function.txt:68
#, no-wrap
@@ -6578,34 +6979,6 @@ msgstr ""
msgid "Declaring a function as a part of the object namespace gives it access to thispointer, in other words, to all available properties of the robot which the program is run on."
msgstr ""
-#. type: Plain text
-#: ../E/function.txt:47
-#, no-wrap
-msgid "Now the program is much easier to read. It is a good practice to split the program into several functions with self-describing names."
-msgstr ""
-
-#. type: Source code
-#: ../E/function.txt:51
-#, no-wrap
-msgid ""
-"result_type FunctionName(optional_parameters)\n"
-"{\n"
-"\tbody\n"
-"}"
-msgstr ""
-
-#. type: Source code
-#: ../E/function.txt:61
-#, no-wrap
-msgid ""
-"void Example(int a, float x, string s)\n"
-"{\n"
-"\tmessage(a);\n"
-"\tmessage(x);\n"
-"\tmessage(s);\n"
-"}"
-msgstr ""
-
#. type: Source code
#: ../E/function.txt:123
#, no-wrap
@@ -6617,78 +6990,352 @@ msgid ""
msgstr ""
#. type: Plain text
-#: ../E/function.txt:56
+#: ../E/object.txt:2
#, no-wrap
-msgid "Result type should be void if the function does not give any. Body is just a set of instructions. Function name must be created with the exact same rules applied to variables."
+msgid "Use this type for variables that contain the characteristics of an object, be it a bot, a building, some raw material, an enemy, etc. Here are all properties of an object: "
msgstr ""
-#. type: \b; header
-#: ../E/factory.txt:1
+#. type: Plain text
+#: ../E/object.txt:4
#, no-wrap
-msgid "Instruction factory"
+msgid ""
+"int object.category Category of the object\n"
+"point object.position Position of the object (x,y,z)\n"
+"float object.orientation Orientation of the object (0..360)\n"
+"float object.pitch Forward/backward angle of the object\n"
+"float object.roll Right/left angle of the object \n"
+"float object.energyLevel Energy level (0..1)\n"
+"float object.shieldLevel Shield level (0..1)\n"
+"float object.temperature Jet temperature (0..1)\n"
+"float object.altitude Altitude above ground\n"
+"float object.lifeTime Lifetime of the object\n"
+"object object.energyCell Power cell on the bot\n"
+"object object.load Object carried by the bot\n"
+"int object.team The object's team (see code battles)\n"
+"point object.velocity Velocity of the object"
+msgstr ""
+
+#. type: Plain text
+#: ../E/object.txt:19
+#, no-wrap
+msgid "Also, some objects have additional methods (instructions). See them in the main list in the \"Instructions specific for some objects\" section."
+msgstr ""
+
+#. type: Plain text
+#: ../E/object.txt:22
+#, no-wrap
+msgid "The category of an object allows you to know what it is, f. ex. what kind of bot, building, enemy, etc."
msgstr ""
#. type: Source code
-#: ../E/factory.txt:3
+#: ../E/object.txt:60
#, no-wrap
-msgid "object.factory ( cat, program );"
+msgid "team"
msgstr ""
#. type: Plain text
-#: ../E/factory.txt:5
+#: ../E/object.txt:61
#, no-wrap
-msgid "Starts a construction of a bot of the given category and runs the specified program on it after the construction is finished."
+msgid "The bot's team. Used in code battles. If the object has no team assigned (e.g. in no team-based levels, the object being a resource), this is equal to 0."
+msgstr ""
+
+#. type: Source code
+#: ../E/object.txt:63
+#, no-wrap
+msgid "velocity"
+msgstr ""
+
+#. type: Plain text
+#: ../E/object.txt:64
+#, no-wrap
+msgid "Current velocity of the object. Should be treated as a three-dimensional vector."
+msgstr ""
+
+#. type: \b; header
+#: ../E/pencolor.txt:1
+#, no-wrap
+msgid "Instruction pencolor"
+msgstr ""
+
+#. type: Source code
+#: ../E/pencolor.txt:3
+#, no-wrap
+msgid "pencolor ( color );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/pencolor.txt:4
+#, no-wrap
+msgid "The instruction pencolor(); instructs the bot to change the color of the pencil."
msgstr ""
#. type: \t; header
-#: ../E/busy.txt:7 ../E/destroy.txt:7 ../E/factory.txt:7 ../E/research.txt:7 ../E/takeoff.txt:7
+#: ../E/pencolor.txt:6 ../E/pendown.txt:6
#, no-wrap
-msgid "object"
+msgid "color: int (default value: Black)"
msgstr ""
#. type: Plain text
-#: ../E/factory.txt:8
+#: ../E/pencolor.txt:7 ../E/pendown.txt:7
#, no-wrap
-msgid "BotFactory"
+msgid "Color name."
msgstr ""
#. type: Plain text
-#: ../E/factory.txt:11
-#, no-wrap
-msgid "Category of the robot to construct."
-msgstr ""
-
-#. type: \t; header
-#: ../E/factory.txt:13
-#, no-wrap
-msgid "program: string (default value: \"\")"
-msgstr ""
-
-#. type: Plain text
-#: ../E/factory.txt:14
-#, no-wrap
-msgid "Program that will be run on the bot after factory finishes the construction. This can be either a publicfunction, a filename or just a raw source code."
-msgstr ""
-
-#. type: Plain text
-#: ../E/category.txt:6
-#, no-wrap
-msgid "Below are the different categories available:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/factory.txt:17
+#: ../E/pencolor.txt:10
#, no-wrap
msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by factory().\n"
-"== 0 The construction successfully started\n"
-"!= 0 The construction could not be started (e.g. no Titanium in the factory, the bot is not researched)"
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by pencolor();.\n"
+"== 0 The color was changed\n"
+"!= 0 The instruction did not work"
+msgstr ""
+
+#. type: \b; header
+#: ../E/pendown.txt:1
+#, no-wrap
+msgid "Instruction pendown"
+msgstr ""
+
+#. type: Source code
+#: ../E/pendown.txt:3
+#, no-wrap
+msgid "pendown ( color, width );"
msgstr ""
#. type: Plain text
-#: ../E/factory.txt:22
+#: ../E/pendown.txt:4
#, no-wrap
-msgid "researched, wait, programming, types and categories."
+msgid "The instruction pendown(); instructs the bot to have the pen down, so it starts drawing."
+msgstr ""
+
+#. type: \t; header
+#: ../E/pendown.txt:9
+#, no-wrap
+msgid "width: float (default value: 0.5)"
+msgstr ""
+
+#. type: Plain text
+#: ../E/pendown.txt:10 ../E/penwidth.txt:7
+#, no-wrap
+msgid "Width of the pen. The width cannot be higher than 1.0 and cannot be lower than 0.0. Passing a higher value will result in the width being the highest possible and passing a lower value will result in the width being the lowest possible."
+msgstr ""
+
+#. type: Plain text
+#: ../E/pendown.txt:13
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by pendown();.\n"
+"== 0 The pen is now down\n"
+"!= 0 The instruction did not work"
+msgstr ""
+
+#. type: \b; header
+#: ../E/penup.txt:1
+#, no-wrap
+msgid "Instruction penup"
+msgstr ""
+
+#. type: Source code
+#: ../E/penup.txt:3
+#, no-wrap
+msgid "penup ( );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/penup.txt:4
+#, no-wrap
+msgid "The instruction penup(); instructs the bot to have the pen up, so it stops drawing. The pen is up by default, so it should be used only after using pendown."
+msgstr ""
+
+#. type: Plain text
+#: ../E/penup.txt:7
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by penup();.\n"
+"== 0 The pen is now up\n"
+"!= 0 The instruction did not work"
+msgstr ""
+
+#. type: \b; header
+#: ../E/penwidth.txt:1
+#, no-wrap
+msgid "Instruction penwidth"
+msgstr ""
+
+#. type: Source code
+#: ../E/penwidth.txt:3
+#, no-wrap
+msgid "penwidth ( color );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/penwidth.txt:4
+#, no-wrap
+msgid "The instruction penwidth(); instructs the bot to change the width of the pencil."
+msgstr ""
+
+#. type: \t; header
+#: ../E/penwidth.txt:6
+#, no-wrap
+msgid "width: float"
+msgstr ""
+
+#. type: Plain text
+#: ../E/penwidth.txt:10
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by penwidth();.\n"
+"== 0 The width was changed\n"
+"!= 0 The instruction did not work"
+msgstr ""
+
+#. type: \b; header
+#: ../E/pow.txt:1
+#, no-wrap
+msgid "Instruction pow"
+msgstr ""
+
+#. type: Source code
+#: ../E/pow.txt:3
+#, no-wrap
+msgid "pow ( x, y );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/pow.txt:6
+#, no-wrap
+msgid "Base."
+msgstr ""
+
+#. type: Plain text
+#: ../E/pow.txt:9
+#, no-wrap
+msgid "Exponent."
+msgstr ""
+
+#. type: Plain text
+#: ../E/pow.txt:12
+#, no-wrap
+msgid "x to the y (x raised to the yth power)."
+msgstr ""
+
+#. type: Source code
+#: ../E/radar.txt:15
+#, no-wrap
+msgid "radar ( cat, angle, focus, min, max, sens, filter );"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: ../E/radar.txt:24
+#, no-wrap
+msgid "Array of categories of the objects that should be detected. For example, when you are looking only for grabbers:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:25 ../E/search.txt:10
+#, no-wrap
+msgid "int bots[4];"
+msgstr ""
+
+#. type: Source code
+#: ../E/radar.txt:26
+#, no-wrap
+msgid ""
+"bots[0] = WheeledGrabber;\n"
+"bots[1] = TrackedGrabber;\n"
+"bots[2] = WingedGrabber;\n"
+"bots[3] = LeggedGrabber;\n"
+"object nearestGrabber = radar(bots);"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: ../E/radar.txt:31
+#, no-wrap
+msgid "Keyword Any if you are looking for any object (including even plants and so on). Filters may be useful to use with this keyword."
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:33
+#, no-wrap
+msgid "angle: float (default value: 0)"
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:39
+#, no-wrap
+msgid "focus: float (default value: 360)"
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:42
+#, no-wrap
+msgid "min: float (default value: 0)"
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:45
+#, no-wrap
+msgid "max: float (default value: 1000)"
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:48
+#, no-wrap
+msgid "sens: float (default value: 1)"
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:51
+#, no-wrap
+msgid "filter: int (default value: FilterNone)"
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:52
+#, no-wrap
+msgid "Determines which type of objects should be detected. Especially useful in use with an array or Any. The following filters are available:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:54
+#, no-wrap
+msgid ""
+"FilterNoneDetects everything (default)\n"
+"FilterOnlyLandingDetects only objects being on the ground\n"
+"FilterOnlyFlyingDetects only objects not being on the ground\n"
+"FilterFriendlyDetects only allies (objects in the same team)\n"
+"FilterEnemyDetects only enemies (objects in an other team except neutral)\n"
+"FilterNeutralDetects only neutral objects (e.g. resources)"
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:61
+#, no-wrap
+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. Attention: you should use FilterNeutral instead of 0 or else it will not work."
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:63
+#, no-wrap
+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/rand.txt:1
+#, no-wrap
+msgid "Instruction rand"
+msgstr ""
+
+#. type: Source code
+#: ../E/rand.txt:3
+#, no-wrap
+msgid "rand ( );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/rand.txt:6
+#, no-wrap
+msgid "Pseudorandom number between 0 and 1 (including 0, but excluding 1)."
msgstr ""
#. type: \b; header
@@ -6703,18 +7350,71 @@ msgstr ""
msgid "object.research ( type );"
msgstr ""
+#. type: Plain text
+#: ../E/research.txt:5
+#, no-wrap
+msgid "Starts a research of the given type."
+msgstr ""
+
+#. type: Plain text
+#: ../E/research.txt:8
+#, no-wrap
+msgid "ResearchCenter or AutoLab."
+msgstr ""
+
#. type: \t; header
#: ../E/research.txt:10
#, no-wrap
msgid "type: int"
msgstr ""
+#. type: Plain text
+#: ../E/research.txt:14
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by research().\n"
+"== 0 The research successfully started\n"
+"!= 0 The research could not be started (e.g. the research is disabled in the level, no power cell)"
+msgstr ""
+
#. type: Plain text
#: ../E/research.txt:19
#, no-wrap
msgid "Research names, canresearch, researched, programming, types and categories."
msgstr ""
+#. type: \b; header
+#: ../E/researched.txt:1
+#, no-wrap
+msgid "Instruction researched"
+msgstr ""
+
+#. type: Source code
+#: ../E/researched.txt:3
+#, no-wrap
+msgid "researched ( research );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/researched.txt:5
+#, no-wrap
+msgid "Checks if the research was done in the level."
+msgstr ""
+
+#. type: Plain text
+#: ../E/researched.txt:11
+#, no-wrap
+msgid ""
+"true if the research was done\n"
+"false if the research was not done"
+msgstr ""
+
+#. type: Plain text
+#: ../E/researched.txt:15
+#, no-wrap
+msgid "Research names, research, canresearch, canbuildprogramming, types and categories."
+msgstr ""
+
#. type: \b; header
#: ../E/researches.txt:1
#, no-wrap
@@ -6733,167 +7433,6 @@ msgstr ""
msgid "In a program, research names are always displayed on a red background. If a research name is not highlighted in red, it is misspelled. Caps and lower cases should be kept as is."
msgstr ""
-#. type: Plain text
-#: ../E/researches.txt:28
-#, no-wrap
-msgid "CBOT Language, variables and categories."
-msgstr ""
-
-#. type: \b; header
-#: ../E/busy.txt:1
-#, no-wrap
-msgid "Instruction busy"
-msgstr ""
-
-#. type: Source code
-#: ../E/busy.txt:3
-#, no-wrap
-msgid "object.busy ( );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/busy.txt:5
-#, no-wrap
-msgid "Checks if the object is busy."
-msgstr ""
-
-#. type: Plain text
-#: ../E/busy.txt:8
-#, no-wrap
-msgid "Any building which can take some action (e.g. Converter)."
-msgstr ""
-
-#. type: Plain text
-#: ../E/busy.txt:11
-#, no-wrap
-msgid ""
-"true if the object is doing something (e.g. converting)\n"
-"false if the object is not doing anything"
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:2
-#, no-wrap
-msgid "Use this type for variables that contain the characteristics of an object, be it a bot, a building, some raw material, an enemy, etc. Here are all properties of an object: "
-msgstr ""
-
-#. type: \b; header
-#: ../E/takeoff.txt:1
-#, no-wrap
-msgid "Instruction takeoff"
-msgstr ""
-
-#. type: Source code
-#: ../E/takeoff.txt:3
-#, no-wrap
-msgid "object.takeoff ( );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/takeoff.txt:5
-#, no-wrap
-msgid "Takes off the spaceship."
-msgstr ""
-
-#. type: Plain text
-#: ../E/takeoff.txt:8
-#, no-wrap
-msgid "SpaceShip"
-msgstr ""
-
-#. type: Source code
-#: ../E/object.txt:60
-#, no-wrap
-msgid "team"
-msgstr ""
-
-#. type: Source code
-#: ../E/object.txt:63
-#, no-wrap
-msgid "velocity"
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:64
-#, no-wrap
-msgid "Current velocity of the object. Should be treated as a three-dimensional vector."
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:19
-#, no-wrap
-msgid "Also, some objects have additional methods (instructions). See them in the main list in the \"Instructions specific for some objects\" section."
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:22
-#, no-wrap
-msgid "The category of an object allows you to know what it is, f. ex. what kind of bot, building, enemy, etc."
-msgstr ""
-
-#. type: Plain text
-#: ../E/research.txt:8
-#, no-wrap
-msgid "ResearchCenter or AutoLab."
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:8
-#, no-wrap
-msgid "Buildings:"
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:31
-#, no-wrap
-msgid "Portable Objects:"
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:44
-#, no-wrap
-msgid "Robots:"
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:76
-#, no-wrap
-msgid "Enemies:"
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:86
-#, no-wrap
-msgid "Miscellaneous:"
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:95
-#, no-wrap
-msgid "Flags and Other Indicators:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/research.txt:5
-#, no-wrap
-msgid "Starts a research of the given type."
-msgstr ""
-
-#. type: Plain text
-#: ../E/canresearch.txt:8 ../E/research.txt:11 ../E/researched.txt:8
-#, no-wrap
-msgid "Research name."
-msgstr ""
-
-#. type: Plain text
-#: ../E/research.txt:14
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by research().\n"
-"== 0 The research successfully started\n"
-"!= 0 The research could not be started (e.g. the research is disabled in the level, no power cell)"
-msgstr ""
-
#. type: Plain text
#: ../E/researches.txt:6
#, no-wrap
@@ -6950,360 +7489,39 @@ msgid ""
msgstr ""
#. type: Plain text
-#: ../E/takeoff.txt:11
+#: ../E/researches.txt:28
#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by takeoff().\n"
-"== 0 Spaceship takes off\n"
-"!= 0 Spaceship could not take off (e.g. mission is not finished yet)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:61
-#, no-wrap
-msgid "The bot's team. Used in code battles. If the object has no team assigned (e.g. in no team-based levels, the object being a resource), this is equal to 0."
+msgid "CBOT Language, variables and categories."
msgstr ""
#. type: \b; header
-#: ../E/colors.txt:1
+#: ../E/round.txt:1
#, no-wrap
-msgid "Value Colors"
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:2
-#, no-wrap
-msgid "Color names are used to define a specific color to use. They can be passed to functions like pendown or pencolor."
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:4
-#, no-wrap
-msgid "In a program, colors are always displayed on a red background. If a color isn't highlighted in red, it is misspelled. Caps and lower cases should be kept as is."
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:6
-#, no-wrap
-msgid "Below are the different colors available:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:8
-#, no-wrap
-msgid ""
-"White\n"
-"Black\n"
-"Gray\n"
-"LightGray\n"
-"Red\n"
-"Pink\n"
-"Purple\n"
-"Orange\n"
-"Yellow\n"
-"Beige\n"
-"Brown\n"
-"Skin\n"
-"Green\n"
-"LightGreen\n"
-"Blue\n"
-"LightBlue"
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:25
-#, no-wrap
-msgid "You can also draw colored symbols:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:27
-#, no-wrap
-msgid ""
-"BlackArrow\n"
-"RedArrow"
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:4
-#, no-wrap
-msgid ""
-"int object.category Category of the object\n"
-"point object.position Position of the object (x,y,z)\n"
-"float object.orientation Orientation of the object (0..360)\n"
-"float object.pitch Forward/backward angle of the object\n"
-"float object.roll Right/left angle of the object \n"
-"float object.energyLevel Energy level (0..1)\n"
-"float object.shieldLevel Shield level (0..1)\n"
-"float object.temperature Jet temperature (0..1)\n"
-"float object.altitude Altitude above ground\n"
-"float object.lifeTime Lifetime of the object\n"
-"object object.energyCell Power cell on the bot\n"
-"object object.load Object carried by the bot\n"
-"int object.team The object's team (see code battles)\n"
-"point object.velocity Velocity of the object"
-msgstr ""
-
-#. type: \b; header
-#: ../E/pencolor.txt:1
-#, no-wrap
-msgid "Instruction pencolor"
+msgid "Instruction round"
msgstr ""
#. type: Source code
-#: ../E/pencolor.txt:3
+#: ../E/round.txt:3
#, no-wrap
-msgid "pencolor ( color );"
-msgstr ""
-
-#. type: \t; header
-#: ../E/pencolor.txt:6 ../E/pendown.txt:6
-#, no-wrap
-msgid "color: int (default value: Black)"
+msgid "round ( value );"
msgstr ""
#. type: Plain text
-#: ../E/pencolor.txt:7 ../E/pendown.txt:7
+#: ../E/round.txt:4
#, no-wrap
-msgid "Color name."
-msgstr ""
-
-#. type: \b; header
-#: ../E/pendown.txt:1
-#, no-wrap
-msgid "Instruction pendown"
-msgstr ""
-
-#. type: Source code
-#: ../E/pendown.txt:3
-#, no-wrap
-msgid "pendown ( color, width );"
-msgstr ""
-
-#. type: \t; header
-#: ../E/pendown.txt:9
-#, no-wrap
-msgid "width: float (default value: 0.5)"
+msgid "Rounds a number."
msgstr ""
#. type: Plain text
-#: ../E/pendown.txt:10 ../E/penwidth.txt:7
+#: ../E/round.txt:10
#, no-wrap
-msgid "Width of the pen. The width cannot be higher than 1.0 and cannot be lower than 0.0. Passing a higher value will result in the width being the highest possible and passing a lower value will result in the width being the lowest possible."
+msgid "Rounded value. For example, round(2.5) is 3.0, whereas round(2.4) is 2.0."
msgstr ""
#. type: Plain text
-#: ../E/pendown.txt:13
+#: ../E/round.txt:13
#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by pendown();.\n"
-"== 0 The pen is now down\n"
-"!= 0 The instruction did not work"
-msgstr ""
-
-#. type: Plain text
-#: ../E/pencolor.txt:4
-#, no-wrap
-msgid "The instruction pencolor(); instructs the bot to change the color of the pencil."
-msgstr ""
-
-#. type: Plain text
-#: ../E/pencolor.txt:10
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by pencolor();.\n"
-"== 0 The color was changed\n"
-"!= 0 The instruction did not work"
-msgstr ""
-
-#. type: \b; header
-#: ../E/penup.txt:1
-#, no-wrap
-msgid "Instruction penup"
-msgstr ""
-
-#. type: Source code
-#: ../E/penup.txt:3
-#, no-wrap
-msgid "penup ( );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/penup.txt:7
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by penup();.\n"
-"== 0 The pen is now up\n"
-"!= 0 The instruction did not work"
-msgstr ""
-
-#. type: \b; header
-#: ../E/penwidth.txt:1
-#, no-wrap
-msgid "Instruction penwidth"
-msgstr ""
-
-#. type: Source code
-#: ../E/penwidth.txt:3
-#, no-wrap
-msgid "penwidth ( color );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/penwidth.txt:4
-#, no-wrap
-msgid "The instruction penwidth(); instructs the bot to change the width of the pencil."
-msgstr ""
-
-#. type: \t; header
-#: ../E/penwidth.txt:6
-#, no-wrap
-msgid "width: float"
-msgstr ""
-
-#. type: Plain text
-#: ../E/penwidth.txt:10
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by penwidth();.\n"
-"== 0 The width was changed\n"
-"!= 0 The instruction did not work"
-msgstr ""
-
-#. type: Plain text
-#: ../E/pendown.txt:4
-#, no-wrap
-msgid "The instruction pendown(); instructs the bot to have the pen down, so it starts drawing."
-msgstr ""
-
-#. type: Plain text
-#: ../E/penup.txt:4
-#, no-wrap
-msgid "The instruction penup(); instructs the bot to have the pen up, so it stops drawing. The pen is up by default, so it should be used only after using pendown."
-msgstr ""
-
-#. type: \b; header
-#: ../E/canresearch.txt:1
-#, no-wrap
-msgid "Instruction canresearch"
-msgstr ""
-
-#. type: Source code
-#: ../E/canresearch.txt:3
-#, no-wrap
-msgid "canresearch ( research );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/canresearch.txt:5
-#, no-wrap
-msgid "Checks if the research can be done in the level."
-msgstr ""
-
-#. type: \t; header
-#: ../E/canresearch.txt:7 ../E/researched.txt:7
-#, no-wrap
-msgid "research: int"
-msgstr ""
-
-#. type: Plain text
-#: ../E/canresearch.txt:11
-#, no-wrap
-msgid ""
-"true if the research can be done (even if it is already done, to check that, use the researched instruction)\n"
-"false if the research cannot be done"
-msgstr ""
-
-#. type: Plain text
-#: ../E/canresearch.txt:15
-#, no-wrap
-msgid "Research names, research, researched, programming, types and categories."
-msgstr ""
-
-#. type: \b; header
-#: ../E/researched.txt:1
-#, no-wrap
-msgid "Instruction researched"
-msgstr ""
-
-#. type: Source code
-#: ../E/researched.txt:3
-#, no-wrap
-msgid "researched ( research );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/researched.txt:5
-#, no-wrap
-msgid "Checks if the research was done in the level."
-msgstr ""
-
-#. type: Plain text
-#: ../E/researched.txt:11
-#, no-wrap
-msgid ""
-"true if the research was done\n"
-"false if the research was not done"
-msgstr ""
-
-#. type: Plain text
-#: ../E/researched.txt:15
-#, no-wrap
-msgid "Research names, research, canresearch, canbuildprogramming, types and categories."
-msgstr ""
-
-#. type: \b; header
-#: ../E/flatspace.txt:1
-#, no-wrap
-msgid "Instruction flatspace"
-msgstr ""
-
-#. type: Source code
-#: ../E/flatspace.txt:3
-#, no-wrap
-msgid "flatspace ( center, flatmin, rmin, rmax, dist );"
-msgstr ""
-
-#. type: \t; header
-#: ../E/flatspace.txt:10
-#, no-wrap
-msgid "flatmin: float"
-msgstr ""
-
-#. type: Plain text
-#: ../E/flatspace.txt:11
-#, no-wrap
-msgid "Minimum radius of flat ground around the desired position."
-msgstr ""
-
-#. type: Plain text
-#: ../E/flatspace.txt:5
-#, no-wrap
-msgid "Determines the position of the nearest free space with at least flatmin of flat ground around a given position. Works similar to space();. Useful for finding a place for a building."
-msgstr ""
-
-#. type: Plain text
-#: ../E/function.txt:14
-#, no-wrap
-msgid "Nothing but a name can be changed in the main function. The keyword extern distinguish the main function from others."
-msgstr ""
-
-#. type: Bullet: 'o'
-#: ../E/radar.txt:24
-#, no-wrap
-msgid "Array of categories of the objects that should be detected. For example, when you are looking only for grabbers:"
-msgstr ""
-
-#. type: Bullet: 'o'
-#: ../E/detect.txt:12 ../E/radar.txt:23
-#, no-wrap
-msgid "Category of the objects that should be detected. For example, when you are looking for an ant, write radar(AlienAnt). "
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:25 ../E/search.txt:10
-#, no-wrap
-msgid "int bots[4];"
+msgid "trunc, floor, ceil, programming, types and expressions."
msgstr ""
#. type: Plain text
@@ -7343,67 +7561,45 @@ msgid "position: point (default value: destroy"
+msgid "Instruction sin"
msgstr ""
#. type: Source code
-#: ../E/destroy.txt:3
+#: ../E/sin.txt:3
#, no-wrap
-msgid "object.destroy ( );"
+msgid "sin ( angle );"
msgstr ""
#. type: Plain text
-#: ../E/destroy.txt:5
+#: ../E/sin.txt:9
#, no-wrap
-msgid "Destroys an object."
+msgid "Sine of the angle."
+msgstr ""
+
+#. type: \b; header
+#: ../E/sqrt.txt:1
+#, no-wrap
+msgid "Instruction sqrt"
+msgstr ""
+
+#. type: Source code
+#: ../E/sqrt.txt:3
+#, no-wrap
+msgid "sqrt ( value );"
msgstr ""
#. type: Plain text
-#: ../E/destroy.txt:8
+#: ../E/sqrt.txt:6
#, no-wrap
-msgid "Destroyer."
+msgid "Non-negative number."
msgstr ""
#. type: Plain text
-#: ../E/category.txt:10
+#: ../E/sqrt.txt:9
#, no-wrap
-msgid ""
-" HoustonMission Control\n"
-" SpaceShipSpaceship\n"
-" BotFactoryRobot Factory\n"
-" ResearchCenterResearch Center\n"
-" RadarStationRadar\n"
-" ExchangePostInformation Exchange Post\n"
-" RepairCenterRepair Center\n"
-" DefenseTowerDefense Tower\n"
-" AutoLabOrganic Matter Analyzer \n"
-" PowerStationPower Station\n"
-" PowerPlantPower Cell Factory\n"
-" NuclearPlantNuclear Plant\n"
-" ConverterTitanium Converter\n"
-" DerrickDerrick\n"
-" PowerCaptorParabolic Lightning Conductor\n"
-" VaultVault\n"
-" StartAreaStarting Pad\n"
-" GoalAreaFinishing Pad\n"
-" AlienNestAlien Nest"
-msgstr ""
-
-#. type: Plain text
-#: ../E/destroy.txt:11
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by destroy().\n"
-"== 0 The operation of destroying of an object was started\n"
-"!= 0 The instruction could not be done (e.g. nothing to destroy)"
-msgstr ""
-
-#. type: Bullet: 'o'
-#: ../E/detect.txt:21 ../E/search.txt:17
-#, no-wrap
-msgid "Keyword Any if you are looking for any object (including even plants and so on)."
+msgid "Square root of the value."
msgstr ""
#. type: \b; header
@@ -7418,6 +7614,18 @@ msgstr ""
msgid "With the instruction switch() {} you can execute a proper set of instructions (a case) basing on some value."
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: Source code
#: ../E/switch.txt:9
#, no-wrap
@@ -7480,6 +7688,12 @@ msgid ""
"}"
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: Source code
#: ../E/switch.txt:48
#, no-wrap
@@ -7494,24 +7708,6 @@ msgid ""
"}"
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
@@ -7529,276 +7725,95 @@ msgid ""
"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 ""
-#. type: \b; header
-#: ../E/detect.txt:1
-#, no-wrap
-msgid "Instruction detect"
-msgstr ""
-
-#. type: Source code
-#: ../E/detect.txt:6
-#, no-wrap
-msgid "detect ( cat );"
-msgstr ""
-
#. type: Plain text
-#: ../E/detect.txt:8
+#: ../E/switch.txt:68
#, no-wrap
-msgid "Detects the nearest object of the specified category being in front of the bot. It is similar to the following instruction:"
-msgstr ""
-
-#. type: Source code
-#: ../E/detect.txt:9
-#, no-wrap
-msgid "radar(cat, 0, 45, 0, 20);"
-msgstr ""
-
-#. type: Source code
-#: ../E/detect.txt:14
-#, no-wrap
-msgid ""
-"int bots[4];\n"
-"bots[0] = WheeledGrabber;\n"
-"bots[1] = TrackedGrabber;\n"
-"bots[2] = WingedGrabber;\n"
-"bots[3] = LeggedGrabber;\n"
-"object nearestGrabber = radar(bots);"
-msgstr ""
-
-#. type: Plain text
-#: ../E/detect.txt:24
-#, no-wrap
-msgid ""
-"true if the object was found\n"
-"false if the object was not found"
+msgid "Do not put a semicolon at the end of the switch ( ) { } instruction."
msgstr ""
#. type: \b; header
-#: ../E/radar.txt:1
+#: ../E/takeoff.txt:1
#, no-wrap
-msgid "Instruction radar"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:2
-#, no-wrap
-msgid "With the instruction radar(), you can look for objects like enemies, bots, buildings or raw materials."
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:5
-#, no-wrap
-msgid "Write in brackets the name of the object that you look for. Put the result in a variable of the typeobject. Here is an example that looks for the closest ant:"
+msgid "Instruction takeoff"
msgstr ""
#. type: Source code
-#: ../E/radar.txt:7
+#: ../E/takeoff.txt:3
+#, no-wrap
+msgid "object.takeoff ( );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/takeoff.txt:5
+#, no-wrap
+msgid "Takes off the spaceship."
+msgstr ""
+
+#. type: Plain text
+#: ../E/takeoff.txt:8
+#, no-wrap
+msgid "SpaceShip"
+msgstr ""
+
+#. type: Plain text
+#: ../E/takeoff.txt:11
#, no-wrap
msgid ""
-"// At the beginning of the program:\n"
-"object item; // variable declaration\n"
-"\n"
-"// Look for the closest ant\n"
-"item = radar(AlienAnt);"
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by takeoff().\n"
+"== 0 Spaceship takes off\n"
+"!= 0 Spaceship could not take off (e.g. mission is not finished yet)"
+msgstr ""
+
+#. type: \b; header
+#: ../E/tan.txt:1
+#, no-wrap
+msgid "Instruction tan"
msgstr ""
#. type: Source code
-#: ../E/radar.txt:15
+#: ../E/tan.txt:3
#, no-wrap
-msgid "radar ( cat, angle, focus, min, max, sens, filter );"
+msgid "tan ( angle );"
msgstr ""
#. type: Plain text
-#: ../E/radar.txt:17
+#: ../E/tan.txt:6
#, no-wrap
-msgid "Detects an object according to several parameters. "
-msgstr ""
-
-#. type: Image filename
-#: ../E/radar.txt:19
-#, no-wrap
-msgid "radar1"
+msgid "Angle in degrees (except multiples of 90)."
msgstr ""
#. type: Plain text
-#: ../E/radar.txt:20
+#: ../E/tan.txt:9
#, no-wrap
-msgid "Seen from above, the purple zone corresponds to the zone where objects will be detected. "
+msgid "Tangent of the angle."
+msgstr ""
+
+#. type: \b; header
+#: ../E/trunc.txt:1
+#, no-wrap
+msgid "Instruction trunc"
msgstr ""
#. type: Source code
-#: ../E/radar.txt:26
+#: ../E/trunc.txt:3
#, no-wrap
-msgid ""
-"bots[0] = WheeledGrabber;\n"
-"bots[1] = TrackedGrabber;\n"
-"bots[2] = WingedGrabber;\n"
-"bots[3] = LeggedGrabber;\n"
-"object nearestGrabber = radar(bots);"
-msgstr ""
-
-#. type: Bullet: 'o'
-#: ../E/radar.txt:31
-#, no-wrap
-msgid "Keyword Any if you are looking for any object (including even plants and so on). Filters may be useful to use with this keyword."
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:33
-#, no-wrap
-msgid "angle: float (default value: 0)"
+msgid "trunc ( value );"
msgstr ""
#. type: Plain text
-#: ../E/radar.txt:34
+#: ../E/trunc.txt:4
#, no-wrap
-msgid ""
-"Direction that the radar is facing, in degrees. \n"
-" 0 -> radar is facing straight ahead\n"
-"-90 -> radar is facing a quarter turn right\n"
-" 90 -> radar is facing a quarter turn left"
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:39
-#, no-wrap
-msgid "focus: float (default value: 360)"
+msgid "Truncation is a method of approximating a decimal number by dropping all decimal places past a certain point without rounding. For positive numbers, it works like the floor(); function, and for negative numbers, it works like the ceil(); function. It can be said that it rounds towards zero."
msgstr ""
#. type: Plain text
-#: ../E/radar.txt:40
+#: ../E/trunc.txt:10
#, no-wrap
-msgid "Opening angle of the radar, in degrees. "
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:42
-#, no-wrap
-msgid "min: float (default value: 0)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:43
-#, no-wrap
-msgid "Minimum detection distance, in meters. Objects that are closer than the minimum distance will not be detected. "
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:45
-#, no-wrap
-msgid "max: float (default value: 1000)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:46
-#, no-wrap
-msgid "Maximum detection distance, in meters. Objects that are farther away than the maximum distance will not be detected. "
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:48
-#, no-wrap
-msgid "sens: float (default value: 1)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:49
-#, no-wrap
-msgid "Determines which way the objects are detected. With value 1, returns the closest object found in the specified zone. With value -1, the farthest object in the zone will be returned. "
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:51
-#, no-wrap
-msgid "filter: int (default value: FilterNone)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:52
-#, no-wrap
-msgid "Determines which type of objects should be detected. Especially useful in use with an array or Any. The following filters are available:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:54
-#, no-wrap
-msgid ""
-"FilterNoneDetects everything (default)\n"
-"FilterOnlyLandingDetects only objects being on the ground\n"
-"FilterOnlyFlyingDetects only objects not being on the ground\n"
-"FilterFriendlyDetects only allies (objects in the same team)\n"
-"FilterEnemyDetects only enemies (objects in an other team except neutral)\n"
-"FilterNeutralDetects only neutral objects (e.g. resources)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:61
-#, no-wrap
-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. Attention: you should use FilterNeutral instead of 0 or else it will not work."
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:63
-#, no-wrap
-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: Plain text
-#: ../E/radar.txt:66
-#, no-wrap
-msgid "Returns the first object found that corresponds to the specified category in the specified zone. If no object was found, returns the value null."
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:69
-#, no-wrap
-msgid "You do not have to give all the parameters. Here are two examples of instructions that are equivalent: "
-msgstr ""
-
-#. type: Source code
-#: ../E/radar.txt:71
-#, no-wrap
-msgid ""
-"\tradar(Titanium, 0, 360, 0, 1000);\n"
-"\tradar(Titanium); // equivalent"
-msgstr ""
-
-#. type: Source code
-#: ../E/radar.txt:74
-#, no-wrap
-msgid ""
-"\tradar(Titanium, 0, 90, 0, 1000);\n"
-"\tradar(Titanium, 0, 90); // equivalent"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:77
-#, no-wrap
-msgid ""
-"When one or more parameters are not specified, the default values indicated above are used instead; only the first parameter is compulsory.\n"
-"Generally, only the first parameter is specified: f. ex. radar (AlienAnt) detects the closest ant, wherever it may be. "
-msgstr ""
-
-#. type: Plain text
-#: ../E/detect.txt:2
-#, no-wrap
-msgid "With the instruction detect();, you can look for objects like enemies, bots, buildings or raw materials, which are in front of the bot. It is a simpler version of radar();."
-msgstr ""
-
-#. type: Bullet: 'o'
-#: ../E/detect.txt:13
-#, no-wrap
-msgid "Array of categories of the objects that should be detected. For example, when you are looking only for grabbers:"
+msgid "Truncated value. For example, trunc(-2.5) is -2.00."
msgstr ""
diff --git a/help/cbot/po/pl.po b/help/cbot/po/pl.po
index 93555659..91304c13 100644
--- a/help/cbot/po/pl.po
+++ b/help/cbot/po/pl.po
@@ -3606,24 +3606,156 @@ msgstr ""
"class, private, funkcje\n"
"Programowanie, typy i kategorie."
+#. type: \b; header
+#: ../E/radar.txt:1
+#, no-wrap
+msgid "Instruction radar"
+msgstr "Instrukcja radar"
+
+#. type: Plain text
+#: ../E/radar.txt:2
+#, no-wrap
+msgid "With the instruction radar(), you can look for objects like enemies, bots, buildings or raw materials."
+msgstr "Przy użyciu instrukcji radar(), można znajdować różne obiekty, takie jak wrogów, roboty, budynki lub surowce."
+
+#. type: Plain text
+#: ../E/radar.txt:5
+#, no-wrap
+msgid "Write in brackets the name of the object that you look for. Put the result in a variable of the typeobject. Here is an example that looks for the closest ant:"
+msgstr "W nawiasach należy napisać nazwę poszukiwanego obiektu. Wynik należy umieścić w zmiennej typuobject. Oto przykład znajdujący najbliższą mrówkę:"
+
+#. type: Source code
+#: ../E/radar.txt:7
+#, no-wrap
+msgid ""
+"// At the beginning of the program:\n"
+"object item; // variable declaration\n"
+"\n"
+"// Look for the closest ant\n"
+"item = radar(AlienAnt);"
+msgstr ""
+"// Na początku programu:\n"
+"object item; // deklaracja zmiennej\n"
+"\n"
+"// Znajdź najbliższą mrówkę\n"
+"item = radar(AlienAnt);"
+
+#. type: Plain text
+#: ../E/radar.txt:17
+#, no-wrap
+msgid "Detects an object according to several parameters. "
+msgstr "Wykrywa obiekty w zależnie od różnych parametrów. "
+
+#. type: Image filename
+#: ../E/radar.txt:19
+#, no-wrap
+msgid "radar1"
+msgstr "radar1"
+
+#. type: Plain text
+#: ../E/radar.txt:20
+#, no-wrap
+msgid "Seen from above, the purple zone corresponds to the zone where objects will be detected. "
+msgstr "Patrząc z góry, czerwona strefa odpowiada strefie, w której będą wykrywane obiekty. "
+
#. type: \t; header
#: ../E/search.txt:7
#, no-wrap
msgid "category: int"
msgstr "kategoria: int"
+#. type: Plain text
+#: ../E/radar.txt:34
+#, no-wrap
+msgid ""
+"Direction that the radar is facing, in degrees. \n"
+" 0 -> radar is facing straight ahead\n"
+"-90 -> radar is facing a quarter turn right\n"
+" 90 -> radar is facing a quarter turn left"
+msgstr ""
+"Kierunek, w którym \"patrzy\" radar, w stopniach: \n"
+" 0 -> na wprost \n"
+"-90 -> ćwierć obrotu w prawo\n"
+" 90 -> ćwierć obrotu w lewo"
+
+#. type: Plain text
+#: ../E/radar.txt:40
+#, no-wrap
+msgid "Opening angle of the radar, in degrees. "
+msgstr "Kąt widzenia radaru, w stopniach. "
+
+#. type: Plain text
+#: ../E/radar.txt:43
+#, no-wrap
+msgid "Minimum detection distance, in meters. Objects that are closer than the minimum distance will not be detected. "
+msgstr "Minimalna odległość wykrywania, w metrach. Obiekty znajdujące się bliżej nie będą wykryte. "
+
+#. type: Plain text
+#: ../E/radar.txt:46
+#, no-wrap
+msgid "Maximum detection distance, in meters. Objects that are farther away than the maximum distance will not be detected. "
+msgstr "Maksymalna odległość wykrywania, w metrach. Obiekty znajdujące się dalej nie będą wykryte. "
+
+#. type: Plain text
+#: ../E/radar.txt:49
+#, no-wrap
+msgid "Determines which way the objects are detected. With value 1, returns the closest object found in the specified zone. With value -1, the farthest object in the zone will be returned. "
+msgstr "Określa sposób wykrywania obiektu. Przy wartości 1, znajduje najbliższy obiekt w podanej strefie. Przy wartości-1, znajduje najdalszy obiekt w strefie. "
+
#. type: \t; header
#: ../E/radar.txt:65 ../E/retobj.txt:10 ../E/search.txt:22
#, no-wrap
msgid "Return value: object"
msgstr "Typ wyniku: object"
+#. type: Plain text
+#: ../E/radar.txt:66
+#, no-wrap
+msgid "Returns the first object found that corresponds to the specified category in the specified zone. If no object was found, returns the value null."
+msgstr "Zwraca pierwszy znaleziony obiekt odpowiadający podanej kategorii w podanej strefie. Jeśli nie znaleziono obiektu, zwracana jest wartość null."
+
#. type: \t; header
#: ../E/cond.txt:21 ../E/radar.txt:68
#, no-wrap
msgid "Remark"
msgstr "Uwaga"
+#. type: Plain text
+#: ../E/radar.txt:69
+#, no-wrap
+msgid "You do not have to give all the parameters. Here are two examples of instructions that are equivalent: "
+msgstr "Nie jest konieczne podawanie wszystkich parametrów. Oto dwa przykłady równoważnych instrukcji: "
+
+#. type: Source code
+#: ../E/radar.txt:71
+#, no-wrap
+msgid ""
+"\tradar(Titanium, 0, 360, 0, 1000);\n"
+"\tradar(Titanium); // equivalent"
+msgstr ""
+"\tradar(Titanium, 0, 360, 0, 1000);\n"
+"\tradar(Titanium); // równoważne"
+
+#. type: Source code
+#: ../E/radar.txt:74
+#, no-wrap
+msgid ""
+"\tradar(Titanium, 0, 90, 0, 1000);\n"
+"\tradar(Titanium, 0, 90); // equivalent"
+msgstr ""
+"\tradar(Titanium, 0, 90, 0, 1000);\n"
+"\tradar(Titanium, 0, 90); // równoważne"
+
+#. type: Plain text
+#: ../E/radar.txt:77
+#, no-wrap
+msgid ""
+"When one or more parameters are not specified, the default values indicated above are used instead; only the first parameter is compulsory.\n"
+"Generally, only the first parameter is specified: f. ex. radar (AlienAnt) detects the closest ant, wherever it may be. "
+msgstr ""
+"Jeśli pominięto jeden lub więcej parametrów, przyjmowane są wymienione powyżej wartości domyślne; tylko pierwszy parametr jest obowiązkowy.\n"
+"Zwykle określony jest tylko pierwszy parametr, np. radar (AlienAnt) wykrywa najbliższą mrówkę, niezależnie od jej położenia. "
+
#. type: \b; header
#: ../E/readln.txt:1
#, no-wrap
@@ -5846,124 +5978,6 @@ msgstr ""
"file, open, close, readln i eof.\n"
"Programowanie, typy i kategorie."
-#. type: Plain text
-#: ../E/for.txt:19
-#, no-wrap
-msgid ""
-"Example: count from 1 to 4\n"
-"for ( i = 1 ; i <= 4 ; i++ )"
-msgstr ""
-"Przykład: liczenie od 1 do 4\n"
-"for ( i = 1 ; i <= 4 ; i++ )"
-
-#. type: Source code
-#: ../E/build.txt:15
-#, no-wrap
-msgid "build ( cat );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:17
-#, no-wrap
-msgid "Tells the robot to build a building using a titanium cube placed on a flat ground nearby."
-msgstr ""
-
-#. type: \t; header
-#: ../E/build.txt:19 ../E/buildingenabled.txt:16 ../E/canbuild.txt:16 ../E/detect.txt:11 ../E/factory.txt:10 ../E/radar.txt:22
-#, no-wrap
-msgid "cat: int"
-msgstr ""
-
-#. type: \b; header
-#: ../E/build.txt:1
-#, no-wrap
-msgid "Instruction build"
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:23
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by build().\n"
-"== 0 Successfully built\n"
-"!= 0 Impossible to build (for example, the nearest titanium cube is too far away or the specified building is not available in the mission)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:7
-#, no-wrap
-msgid "Here is an example of a program that looks for the nearest titanium cube, goes to the position and builds a bot factory."
-msgstr ""
-
-#. type: Source code
-#: ../E/build.txt:9
-#, no-wrap
-msgid ""
-" object item = radar(Titanium);\n"
-" goto(item.position);\n"
-" build(BotFactory);"
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:5
-#, no-wrap
-msgid "This command is mostly useful in an attempt to build a fully automatised base, where an astronaut does not need to do anything except starting a program and watching bots working. What is more, it makes beating the game by using only programming a possible task (however, it is a challenge rather for experienced gamers, who beat the whole game at least once)."
-msgstr ""
-
-#. type: Source code
-#: ../E/aim.txt:3
-#, no-wrap
-msgid "aim ( y, x );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/aim.txt:10
-#, no-wrap
-msgid "When controlling the robot through programming, the gun can be also turned left or right by turning the whole robot with the instruction turn."
-msgstr ""
-
-#. type: \t; header
-#: ../E/aim.txt:12 ../E/atan2.txt:7 ../E/pow.txt:8
-#, no-wrap
-msgid "y: float"
-msgstr ""
-
-#. type: \t; header
-#: ../E/atan2.txt:10 ../E/pow.txt:5
-#, no-wrap
-msgid "x: float"
-msgstr ""
-
-#. type: Plain text
-#: ../E/aim.txt:5
-#, no-wrap
-msgid "This instruction sets the vertical and the horizontal angle of the cannon. The following robots are equipped with a cannon: "
-msgstr ""
-
-#. type: \b; header
-#: ../E/rand.txt:1
-#, no-wrap
-msgid "Instruction rand"
-msgstr ""
-
-#. type: Source code
-#: ../E/rand.txt:3
-#, no-wrap
-msgid "rand ( );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/rand.txt:6
-#, no-wrap
-msgid "Pseudorandom number between 0 and 1 (including 0, but excluding 1)."
-msgstr ""
-
-#. type: Plain text
-#: ../E/acos.txt:12 ../E/asin.txt:12 ../E/atan.txt:12 ../E/atan2.txt:17 ../E/cos.txt:12 ../E/pow.txt:15 ../E/rand.txt:9 ../E/sin.txt:12 ../E/sqrt.txt:12 ../E/tan.txt:12
-#, no-wrap
-msgid "Programming, types and expressions."
-msgstr ""
-
#. type: \b; header
#: ../E/acos.txt:1
#, no-wrap
@@ -5988,6 +6002,54 @@ msgstr ""
msgid "Number between -1 and 1 (including both)."
msgstr ""
+#. type: Plain text
+#: ../E/acos.txt:9
+#, no-wrap
+msgid "Arcus cosine (in degrees) of the value."
+msgstr ""
+
+#. type: Plain text
+#: ../E/acos.txt:12 ../E/asin.txt:12 ../E/atan.txt:12 ../E/atan2.txt:17 ../E/cos.txt:12 ../E/pow.txt:15 ../E/rand.txt:9 ../E/sin.txt:12 ../E/sqrt.txt:12 ../E/tan.txt:12
+#, no-wrap
+msgid "Programming, types and expressions."
+msgstr ""
+
+#. type: Source code
+#: ../E/aim.txt:3
+#, no-wrap
+msgid "aim ( y, x );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/aim.txt:5
+#, no-wrap
+msgid "This instruction sets the vertical and the horizontal angle of the cannon. The following robots are equipped with a cannon: "
+msgstr ""
+
+#. type: Plain text
+#: ../E/aim.txt:10
+#, no-wrap
+msgid "When controlling the robot through programming, the gun can be also turned left or right by turning the whole robot with the instruction turn."
+msgstr ""
+
+#. type: \t; header
+#: ../E/aim.txt:12 ../E/atan2.txt:7 ../E/pow.txt:8
+#, no-wrap
+msgid "y: float"
+msgstr ""
+
+#. type: \t; header
+#: ../E/aim.txt:15
+#, no-wrap
+msgid "x: float (default value: 0)"
+msgstr ""
+
+#. type: Plain text
+#: ../E/aim.txt:16
+#, no-wrap
+msgid "Angle in degrees of the gun relative to the robot. A positive value orients the gun to the right. The angle must range from -40 to +40 degrees for all shooters."
+msgstr ""
+
#. type: \b; header
#: ../E/asin.txt:1
#, no-wrap
@@ -6000,6 +6062,12 @@ msgstr ""
msgid "asin ( value );"
msgstr ""
+#. type: Plain text
+#: ../E/asin.txt:9
+#, no-wrap
+msgid "Arcus sine (in degrees) of the value."
+msgstr ""
+
#. type: \b; header
#: ../E/atan.txt:1
#, no-wrap
@@ -6018,6 +6086,451 @@ msgstr ""
msgid "Number."
msgstr ""
+#. type: Plain text
+#: ../E/atan.txt:9
+#, no-wrap
+msgid "Arcus tangent (in degrees) of the value."
+msgstr ""
+
+#. type: \b; header
+#: ../E/atan2.txt:1
+#, no-wrap
+msgid "Instruction atan2"
+msgstr ""
+
+#. type: Source code
+#: ../E/atan2.txt:3
+#, no-wrap
+msgid "atan2 ( y, x );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/atan2.txt:5
+#, no-wrap
+msgid "The purpose of using two arguments instead of one is to gather information on the signs of the inputs in order to return the appropriate quadrant of the computed angle, which is not possible for the single-argument atan(); function. For example, consider a point (-1, -1): atan(-1/-1); is 45.00 degrees, whereas atan2(-1, -1); is -135.00 degrees, which is obviously more correct in this case."
+msgstr ""
+
+#. type: \t; header
+#: ../E/atan2.txt:10 ../E/pow.txt:5
+#, no-wrap
+msgid "x: float"
+msgstr ""
+
+#. type: Plain text
+#: ../E/atan2.txt:14
+#, no-wrap
+msgid "Arcus tangent (in degrees) of y/x."
+msgstr ""
+
+#. type: \b; header
+#: ../E/build.txt:1
+#, no-wrap
+msgid "Instruction build"
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:2
+#, no-wrap
+msgid "The instruction build(); instructs the bot to build a building of the given category. Currently works for Grabbers, Me and Tech."
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:5
+#, no-wrap
+msgid "This command is mostly useful in an attempt to build a fully automatised base, where an astronaut does not need to do anything except starting a program and watching bots working. What is more, it makes beating the game by using only programming a possible task (however, it is a challenge rather for experienced gamers, who beat the whole game at least once)."
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:7
+#, no-wrap
+msgid "Here is an example of a program that looks for the nearest titanium cube, goes to the position and builds a bot factory."
+msgstr ""
+
+#. type: Source code
+#: ../E/build.txt:9
+#, no-wrap
+msgid ""
+" object item = radar(Titanium);\n"
+" goto(item.position);\n"
+" build(BotFactory);"
+msgstr ""
+
+#. type: Source code
+#: ../E/build.txt:15
+#, no-wrap
+msgid "build ( cat );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:17
+#, no-wrap
+msgid "Tells the robot to build a building using a titanium cube placed on a flat ground nearby."
+msgstr ""
+
+#. type: \t; header
+#: ../E/build.txt:19 ../E/buildingenabled.txt:16 ../E/canbuild.txt:16 ../E/detect.txt:11 ../E/factory.txt:10 ../E/radar.txt:22
+#, no-wrap
+msgid "cat: int"
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:20 ../E/buildingenabled.txt:17 ../E/canbuild.txt:17
+#, no-wrap
+msgid "Category of a building."
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:23
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by build().\n"
+"== 0 Successfully built\n"
+"!= 0 Impossible to build (for example, the nearest titanium cube is too far away or the specified building is not available in the mission)"
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:28
+#, no-wrap
+msgid "canbuild, buildingenabled, programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: ../E/buildingenabled.txt:1
+#, no-wrap
+msgid "Instruction buildingenabled"
+msgstr ""
+
+#. type: Plain text
+#: ../E/buildingenabled.txt:2
+#, no-wrap
+msgid "The instruction buildingenabled(); lets you know if a building of the given category can be built in the level."
+msgstr ""
+
+#. type: Plain text
+#: ../E/buildingenabled.txt:5
+#, no-wrap
+msgid "It is similar to the canbuild(); instruction. However, it does not check if a required research has been done."
+msgstr ""
+
+#. type: Source code
+#: ../E/buildingenabled.txt:7
+#, no-wrap
+msgid ""
+" if (buildingenabled(BotFactory))\n"
+" {\n"
+" \tbuild(BotFactory);\n"
+" }"
+msgstr ""
+
+#. type: Source code
+#: ../E/buildingenabled.txt:14
+#, no-wrap
+msgid "buildingenabled ( cat );"
+msgstr ""
+
+#. type: \t; header
+#: ../E/buildingenabled.txt:19 ../E/busy.txt:10 ../E/canbuild.txt:19 ../E/canresearch.txt:10 ../E/detect.txt:23 ../E/researched.txt:10
+#, no-wrap
+msgid "Return value: bool"
+msgstr ""
+
+#. type: Plain text
+#: ../E/buildingenabled.txt:20
+#, no-wrap
+msgid "true if the building can be built in the level even if required research has not been done, false otherwise."
+msgstr ""
+
+#. type: Plain text
+#: ../E/buildingenabled.txt:23
+#, no-wrap
+msgid "build, canbuild, ResearchCenter, programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: ../E/busy.txt:1
+#, no-wrap
+msgid "Instruction busy"
+msgstr ""
+
+#. type: Source code
+#: ../E/busy.txt:3
+#, no-wrap
+msgid "object.busy ( );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/busy.txt:5
+#, no-wrap
+msgid "Checks if the object is busy."
+msgstr ""
+
+#. type: \t; header
+#: ../E/busy.txt:7 ../E/destroy.txt:7 ../E/factory.txt:7 ../E/research.txt:7 ../E/takeoff.txt:7
+#, no-wrap
+msgid "object"
+msgstr ""
+
+#. type: Plain text
+#: ../E/busy.txt:8
+#, no-wrap
+msgid "Any building which can take some action (e.g. Converter)."
+msgstr ""
+
+#. type: Plain text
+#: ../E/busy.txt:11
+#, no-wrap
+msgid ""
+"true if the object is doing something (e.g. converting)\n"
+"false if the object is not doing anything"
+msgstr ""
+
+#. type: \b; header
+#: ../E/canbuild.txt:1
+#, no-wrap
+msgid "Instruction canbuild"
+msgstr ""
+
+#. type: Plain text
+#: ../E/canbuild.txt:2
+#, no-wrap
+msgid "The instruction canbuild(); lets you know if Grabbers, Me or Tech can build a building of the given category. "
+msgstr ""
+
+#. type: Plain text
+#: ../E/canbuild.txt:5
+#, no-wrap
+msgid "It helps to prevent errors in programs using the build(); instruction. Here is an example:"
+msgstr ""
+
+#. type: Source code
+#: ../E/canbuild.txt:7
+#, no-wrap
+msgid ""
+" if (canbuild(BotFactory))\n"
+" {\n"
+" \tbuild(BotFactory);\n"
+" }"
+msgstr ""
+
+#. type: Source code
+#: ../E/canbuild.txt:14
+#, no-wrap
+msgid "canbuild ( cat );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/canbuild.txt:20
+#, no-wrap
+msgid "true if the building can be built, false otherwise."
+msgstr ""
+
+#. type: Plain text
+#: ../E/canbuild.txt:23
+#, no-wrap
+msgid "build, buildingenabled, programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: ../E/canresearch.txt:1
+#, no-wrap
+msgid "Instruction canresearch"
+msgstr ""
+
+#. type: Source code
+#: ../E/canresearch.txt:3
+#, no-wrap
+msgid "canresearch ( research );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/canresearch.txt:5
+#, no-wrap
+msgid "Checks if the research can be done in the level."
+msgstr ""
+
+#. type: \t; header
+#: ../E/canresearch.txt:7 ../E/researched.txt:7
+#, no-wrap
+msgid "research: int"
+msgstr ""
+
+#. type: Plain text
+#: ../E/canresearch.txt:8 ../E/research.txt:11 ../E/researched.txt:8
+#, no-wrap
+msgid "Research name."
+msgstr ""
+
+#. type: Plain text
+#: ../E/canresearch.txt:11
+#, no-wrap
+msgid ""
+"true if the research can be done (even if it is already done, to check that, use the researched instruction)\n"
+"false if the research cannot be done"
+msgstr ""
+
+#. type: Plain text
+#: ../E/canresearch.txt:15
+#, no-wrap
+msgid "Research names, research, researched, programming, types and categories."
+msgstr ""
+
+#. type: Plain text
+#: ../E/category.txt:6
+#, no-wrap
+msgid "Below are the different categories available:"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:8
+#, no-wrap
+msgid "Buildings:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/category.txt:10
+#, no-wrap
+msgid ""
+" HoustonMission Control\n"
+" SpaceShipSpaceship\n"
+" BotFactoryRobot Factory\n"
+" ResearchCenterResearch Center\n"
+" RadarStationRadar\n"
+" ExchangePostInformation Exchange Post\n"
+" RepairCenterRepair Center\n"
+" DefenseTowerDefense Tower\n"
+" AutoLabOrganic Matter Analyzer \n"
+" PowerStationPower Station\n"
+" PowerPlantPower Cell Factory\n"
+" NuclearPlantNuclear Plant\n"
+" ConverterTitanium Converter\n"
+" DerrickDerrick\n"
+" PowerCaptorParabolic Lightning Conductor\n"
+" VaultVault\n"
+" StartAreaStarting Pad\n"
+" GoalAreaFinishing Pad\n"
+" AlienNestAlien Nest"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:31
+#, no-wrap
+msgid "Portable Objects:"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:44
+#, no-wrap
+msgid "Robots:"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:76
+#, no-wrap
+msgid "Enemies:"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:86
+#, no-wrap
+msgid "Miscellaneous:"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:95
+#, no-wrap
+msgid "Flags and Other Indicators:"
+msgstr ""
+
+#. type: \b; header
+#: ../E/ceil.txt:1
+#, no-wrap
+msgid "Instruction ceil"
+msgstr ""
+
+#. type: Source code
+#: ../E/ceil.txt:3
+#, no-wrap
+msgid "ceil ( value );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/ceil.txt:4
+#, no-wrap
+msgid "Rounds up a number."
+msgstr ""
+
+#. type: Plain text
+#: ../E/ceil.txt:10
+#, no-wrap
+msgid "Ceiling of the value, i.e. the smallest integer not less than value. For example, ceil(2.1) is 3.0."
+msgstr ""
+
+#. type: Plain text
+#: ../E/ceil.txt:13 ../E/floor.txt:13 ../E/trunc.txt:13
+#, no-wrap
+msgid "round, programming, types and expressions."
+msgstr ""
+
+#. type: \b; header
+#: ../E/colors.txt:1
+#, no-wrap
+msgid "Value Colors"
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:2
+#, no-wrap
+msgid "Color names are used to define a specific color to use. They can be passed to functions like pendown or pencolor."
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:4
+#, no-wrap
+msgid "In a program, colors are always displayed on a red background. If a color isn't highlighted in red, it is misspelled. Caps and lower cases should be kept as is."
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:6
+#, no-wrap
+msgid "Below are the different colors available:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:8
+#, no-wrap
+msgid ""
+"White\n"
+"Black\n"
+"Gray\n"
+"LightGray\n"
+"Red\n"
+"Pink\n"
+"Purple\n"
+"Orange\n"
+"Yellow\n"
+"Beige\n"
+"Brown\n"
+"Skin\n"
+"Green\n"
+"LightGreen\n"
+"Blue\n"
+"LightBlue"
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:25
+#, no-wrap
+msgid "You can also draw colored symbols:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:27
+#, no-wrap
+msgid ""
+"BlackArrow\n"
+"RedArrow"
+msgstr ""
+
#. type: \b; header
#: ../E/cos.txt:1
#, no-wrap
@@ -6043,287 +6556,191 @@ msgid "Cosine of the angle."
msgstr ""
#. type: \b; header
-#: ../E/pow.txt:1
+#: ../E/destroy.txt:1
#, no-wrap
-msgid "Instruction pow"
+msgid "Instruction destroy"
msgstr ""
#. type: Source code
-#: ../E/pow.txt:3
+#: ../E/destroy.txt:3
#, no-wrap
-msgid "pow ( x, y );"
+msgid "object.destroy ( );"
msgstr ""
#. type: Plain text
-#: ../E/pow.txt:6
+#: ../E/destroy.txt:5
#, no-wrap
-msgid "Base."
+msgid "Destroys an object."
msgstr ""
#. type: Plain text
-#: ../E/pow.txt:9
+#: ../E/destroy.txt:8
#, no-wrap
-msgid "Exponent."
+msgid "Destroyer."
msgstr ""
#. type: Plain text
-#: ../E/pow.txt:12
+#: ../E/destroy.txt:11
#, no-wrap
-msgid "x to the y (x raised to the yth power)."
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by destroy().\n"
+"== 0 The operation of destroying of an object was started\n"
+"!= 0 The instruction could not be done (e.g. nothing to destroy)"
msgstr ""
#. type: \b; header
-#: ../E/sin.txt:1
+#: ../E/detect.txt:1
#, no-wrap
-msgid "Instruction sin"
-msgstr ""
-
-#. type: Source code
-#: ../E/sin.txt:3
-#, no-wrap
-msgid "sin ( angle );"
+msgid "Instruction detect"
msgstr ""
#. type: Plain text
-#: ../E/sin.txt:9
+#: ../E/detect.txt:2
#, no-wrap
-msgid "Sine of the angle."
+msgid "With the instruction detect();, you can look for objects like enemies, bots, buildings or raw materials, which are in front of the bot. It is a simpler version of radar();."
+msgstr ""
+
+#. type: Source code
+#: ../E/detect.txt:6
+#, no-wrap
+msgid "detect ( cat );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/detect.txt:8
+#, no-wrap
+msgid "Detects the nearest object of the specified category being in front of the bot. It is similar to the following instruction:"
+msgstr ""
+
+#. type: Source code
+#: ../E/detect.txt:9
+#, no-wrap
+msgid "radar(cat, 0, 45, 0, 20);"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: ../E/detect.txt:12 ../E/radar.txt:23
+#, no-wrap
+msgid "Category of the objects that should be detected. For example, when you are looking for an ant, write radar(AlienAnt). "
+msgstr ""
+
+#. type: Bullet: 'o'
+#: ../E/detect.txt:13
+#, no-wrap
+msgid "Array of categories of the objects that should be detected. For example, when you are looking only for grabbers:"
+msgstr ""
+
+#. type: Source code
+#: ../E/detect.txt:14
+#, no-wrap
+msgid ""
+"int bots[4];\n"
+"bots[0] = WheeledGrabber;\n"
+"bots[1] = TrackedGrabber;\n"
+"bots[2] = WingedGrabber;\n"
+"bots[3] = LeggedGrabber;\n"
+"object nearestGrabber = radar(bots);"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: ../E/detect.txt:21 ../E/search.txt:17
+#, no-wrap
+msgid "Keyword Any if you are looking for any object (including even plants and so on)."
+msgstr ""
+
+#. type: Plain text
+#: ../E/detect.txt:24
+#, no-wrap
+msgid ""
+"true if the object was found\n"
+"false if the object was not found"
msgstr ""
#. type: \b; header
-#: ../E/sqrt.txt:1
+#: ../E/factory.txt:1
#, no-wrap
-msgid "Instruction sqrt"
+msgid "Instruction factory"
msgstr ""
#. type: Source code
-#: ../E/sqrt.txt:3
+#: ../E/factory.txt:3
#, no-wrap
-msgid "sqrt ( value );"
+msgid "object.factory ( cat, program );"
msgstr ""
#. type: Plain text
-#: ../E/sqrt.txt:6
+#: ../E/factory.txt:5
#, no-wrap
-msgid "Non-negative number."
+msgid "Starts a construction of a bot of the given category and runs the specified program on it after the construction is finished."
msgstr ""
#. type: Plain text
-#: ../E/sqrt.txt:9
+#: ../E/factory.txt:8
#, no-wrap
-msgid "Square root of the value."
-msgstr ""
-
-#. type: \b; header
-#: ../E/tan.txt:1
-#, no-wrap
-msgid "Instruction tan"
-msgstr ""
-
-#. type: Source code
-#: ../E/tan.txt:3
-#, no-wrap
-msgid "tan ( angle );"
+msgid "BotFactory"
msgstr ""
#. type: Plain text
-#: ../E/tan.txt:9
+#: ../E/factory.txt:11
#, no-wrap
-msgid "Tangent of the angle."
-msgstr ""
-
-#. type: Plain text
-#: ../E/acos.txt:9
-#, no-wrap
-msgid "Arcus cosine (in degrees) of the value."
-msgstr ""
-
-#. type: Plain text
-#: ../E/asin.txt:9
-#, no-wrap
-msgid "Arcus sine (in degrees) of the value."
-msgstr ""
-
-#. type: Plain text
-#: ../E/atan.txt:9
-#, no-wrap
-msgid "Arcus tangent (in degrees) of the value."
-msgstr ""
-
-#. type: Plain text
-#: ../E/tan.txt:6
-#, no-wrap
-msgid "Angle in degrees (except multiples of 90)."
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:28
-#, no-wrap
-msgid "canbuild, buildingenabled, programming, types and categories."
-msgstr ""
-
-#. type: \b; header
-#: ../E/canbuild.txt:1
-#, no-wrap
-msgid "Instruction canbuild"
-msgstr ""
-
-#. type: Source code
-#: ../E/canbuild.txt:14
-#, no-wrap
-msgid "canbuild ( cat );"
+msgid "Category of the robot to construct."
msgstr ""
#. type: \t; header
-#: ../E/buildingenabled.txt:19 ../E/busy.txt:10 ../E/canbuild.txt:19 ../E/canresearch.txt:10 ../E/detect.txt:23 ../E/researched.txt:10
+#: ../E/factory.txt:13
#, no-wrap
-msgid "Return value: bool"
+msgid "program: string (default value: \"\")"
msgstr ""
#. type: Plain text
-#: ../E/canbuild.txt:20
+#: ../E/factory.txt:14
#, no-wrap
-msgid "true if the building can be built, false otherwise."
+msgid "Program that will be run on the bot after factory finishes the construction. This can be either a publicfunction, a filename or just a raw source code."
msgstr ""
#. type: Plain text
-#: ../E/canbuild.txt:23
-#, no-wrap
-msgid "build, buildingenabled, programming, types and categories."
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:20 ../E/buildingenabled.txt:17 ../E/canbuild.txt:17
-#, no-wrap
-msgid "Category of a building."
-msgstr ""
-
-#. type: \b; header
-#: ../E/buildingenabled.txt:1
-#, no-wrap
-msgid "Instruction buildingenabled"
-msgstr ""
-
-#. type: Plain text
-#: ../E/buildingenabled.txt:2
-#, no-wrap
-msgid "The instruction buildingenabled(); lets you know if a building of the given category can be built in the level."
-msgstr ""
-
-#. type: Source code
-#: ../E/buildingenabled.txt:7
+#: ../E/factory.txt:17
#, no-wrap
msgid ""
-" if (buildingenabled(BotFactory))\n"
-" {\n"
-" \tbuild(BotFactory);\n"
-" }"
-msgstr ""
-
-#. type: Source code
-#: ../E/buildingenabled.txt:14
-#, no-wrap
-msgid "buildingenabled ( cat );"
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by factory().\n"
+"== 0 The construction successfully started\n"
+"!= 0 The construction could not be started (e.g. no Titanium in the factory, the bot is not researched)"
msgstr ""
#. type: Plain text
-#: ../E/buildingenabled.txt:20
+#: ../E/factory.txt:22
#, no-wrap
-msgid "true if the building can be built in the level even if required research has not been done, false otherwise."
-msgstr ""
-
-#. type: Plain text
-#: ../E/buildingenabled.txt:23
-#, no-wrap
-msgid "build, canbuild, ResearchCenter, programming, types and categories."
-msgstr ""
-
-#. type: Source code
-#: ../E/canbuild.txt:7
-#, no-wrap
-msgid ""
-" if (canbuild(BotFactory))\n"
-" {\n"
-" \tbuild(BotFactory);\n"
-" }"
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:2
-#, no-wrap
-msgid "The instruction build(); instructs the bot to build a building of the given category. Currently works for Grabbers, Me and Tech."
-msgstr ""
-
-#. type: Plain text
-#: ../E/buildingenabled.txt:5
-#, no-wrap
-msgid "It is similar to the canbuild(); instruction. However, it does not check if a required research has been done."
-msgstr ""
-
-#. type: Plain text
-#: ../E/canbuild.txt:2
-#, no-wrap
-msgid "The instruction canbuild(); lets you know if Grabbers, Me or Tech can build a building of the given category. "
-msgstr ""
-
-#. type: Plain text
-#: ../E/canbuild.txt:5
-#, no-wrap
-msgid "It helps to prevent errors in programs using the build(); instruction. Here is an example:"
+msgid "researched, wait, programming, types and categories."
msgstr ""
#. type: \b; header
-#: ../E/atan2.txt:1
+#: ../E/flatspace.txt:1
#, no-wrap
-msgid "Instruction atan2"
+msgid "Instruction flatspace"
msgstr ""
#. type: Source code
-#: ../E/atan2.txt:3
+#: ../E/flatspace.txt:3
#, no-wrap
-msgid "atan2 ( y, x );"
+msgid "flatspace ( center, flatmin, rmin, rmax, dist );"
msgstr ""
#. type: Plain text
-#: ../E/atan2.txt:14
+#: ../E/flatspace.txt:5
#, no-wrap
-msgid "Arcus tangent (in degrees) of y/x."
+msgid "Determines the position of the nearest free space with at least flatmin of flat ground around a given position. Works similar to space();. Useful for finding a place for a building."
+msgstr ""
+
+#. type: \t; header
+#: ../E/flatspace.txt:10
+#, no-wrap
+msgid "flatmin: float"
msgstr ""
#. type: Plain text
-#: ../E/atan2.txt:5
+#: ../E/flatspace.txt:11
#, no-wrap
-msgid "The purpose of using two arguments instead of one is to gather information on the signs of the inputs in order to return the appropriate quadrant of the computed angle, which is not possible for the single-argument atan(); function. For example, consider a point (-1, -1): atan(-1/-1); is 45.00 degrees, whereas atan2(-1, -1); is -135.00 degrees, which is obviously more correct in this case."
-msgstr ""
-
-#. type: \b; header
-#: ../E/ceil.txt:1
-#, no-wrap
-msgid "Instruction ceil"
-msgstr ""
-
-#. type: Source code
-#: ../E/ceil.txt:3
-#, no-wrap
-msgid "ceil ( value );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/floor.txt:4
-#, no-wrap
-msgid "Rounds down a number."
-msgstr ""
-
-#. type: Plain text
-#: ../E/ceil.txt:10
-#, no-wrap
-msgid "Ceiling of the value, i.e. the smallest integer not less than value. For example, ceil(2.1) is 3.0."
-msgstr ""
-
-#. type: Plain text
-#: ../E/ceil.txt:13 ../E/floor.txt:13 ../E/trunc.txt:13
-#, no-wrap
-msgid "round, programming, types and expressions."
+msgid "Minimum radius of flat ground around the desired position."
msgstr ""
#. type: \b; header
@@ -6339,9 +6756,9 @@ msgid "floor ( value );"
msgstr ""
#. type: Plain text
-#: ../E/ceil.txt:4
+#: ../E/floor.txt:4
#, no-wrap
-msgid "Rounds up a number."
+msgid "Rounds down a number."
msgstr ""
#. type: Plain text
@@ -6350,70 +6767,12 @@ msgstr ""
msgid "Floor of the value, i.e. the largest integer not greater than value. For example, floor(2.9) is 2.00."
msgstr ""
-#. type: \b; header
-#: ../E/round.txt:1
-#, no-wrap
-msgid "Instruction round"
-msgstr ""
-
-#. type: Source code
-#: ../E/round.txt:3
-#, no-wrap
-msgid "round ( value );"
-msgstr ""
-
#. type: Plain text
-#: ../E/round.txt:4
+#: ../E/for.txt:19
#, no-wrap
-msgid "Rounds a number."
-msgstr ""
-
-#. type: Plain text
-#: ../E/round.txt:10
-#, no-wrap
-msgid "Rounded value. For example, round(2.5) is 3.0, whereas round(2.4) is 2.0."
-msgstr ""
-
-#. type: \b; header
-#: ../E/trunc.txt:1
-#, no-wrap
-msgid "Instruction trunc"
-msgstr ""
-
-#. type: Source code
-#: ../E/trunc.txt:3
-#, no-wrap
-msgid "trunc ( value );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/trunc.txt:10
-#, no-wrap
-msgid "Truncated value. For example, trunc(-2.5) is -2.00."
-msgstr ""
-
-#. type: Plain text
-#: ../E/round.txt:13
-#, no-wrap
-msgid "trunc, floor, ceil, programming, types and expressions."
-msgstr ""
-
-#. type: Plain text
-#: ../E/trunc.txt:4
-#, no-wrap
-msgid "Truncation is a method of approximating a decimal number by dropping all decimal places past a certain point without rounding. For positive numbers, it works like the floor(); function, and for negative numbers, it works like the ceil(); function. It can be said that it rounds towards zero."
-msgstr ""
-
-#. type: Plain text
-#: ../E/aim.txt:16
-#, no-wrap
-msgid "Angle in degrees of the gun relative to the robot. A positive value orients the gun to the right. The angle must range from -40 to +40 degrees for all shooters."
-msgstr ""
-
-#. type: \t; header
-#: ../E/aim.txt:15
-#, no-wrap
-msgid "x: float (default value: 0)"
+msgid ""
+"Example: count from 1 to 4\n"
+"for ( i = 1 ; i <= 4 ; i++ )"
msgstr ""
#. type: Plain text
@@ -6446,6 +6805,12 @@ msgid ""
"}"
msgstr ""
+#. type: Plain text
+#: ../E/function.txt:14
+#, no-wrap
+msgid "Nothing but a name can be changed in the main function. The keyword extern distinguish the main function from others."
+msgstr ""
+
#. type: Plain text
#: ../E/function.txt:17
#, no-wrap
@@ -6494,12 +6859,34 @@ msgid ""
"}"
msgstr ""
+#. type: Plain text
+#: ../E/function.txt:47
+#, no-wrap
+msgid "Now the program is much easier to read. It is a good practice to split the program into several functions with self-describing names."
+msgstr ""
+
#. type: \b; header
#: ../E/function.txt:49
#, no-wrap
msgid "Syntax"
msgstr ""
+#. type: Source code
+#: ../E/function.txt:51
+#, no-wrap
+msgid ""
+"result_type FunctionName(optional_parameters)\n"
+"{\n"
+"\tbody\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: ../E/function.txt:56
+#, no-wrap
+msgid "Result type should be void if the function does not give any. Body is just a set of instructions. Function name must be created with the exact same rules applied to variables."
+msgstr ""
+
#. type: \t; header
#: ../E/function.txt:58
#, no-wrap
@@ -6512,6 +6899,18 @@ msgstr ""
msgid "A function can have parameters:"
msgstr ""
+#. type: Source code
+#: ../E/function.txt:61
+#, no-wrap
+msgid ""
+"void Example(int a, float x, string s)\n"
+"{\n"
+"\tmessage(a);\n"
+"\tmessage(x);\n"
+"\tmessage(s);\n"
+"}"
+msgstr ""
+
#. type: Plain text
#: ../E/function.txt:68
#, no-wrap
@@ -6627,34 +7026,6 @@ msgstr ""
msgid "Declaring a function as a part of the object namespace gives it access to thispointer, in other words, to all available properties of the robot which the program is run on."
msgstr ""
-#. type: Plain text
-#: ../E/function.txt:47
-#, no-wrap
-msgid "Now the program is much easier to read. It is a good practice to split the program into several functions with self-describing names."
-msgstr ""
-
-#. type: Source code
-#: ../E/function.txt:51
-#, no-wrap
-msgid ""
-"result_type FunctionName(optional_parameters)\n"
-"{\n"
-"\tbody\n"
-"}"
-msgstr ""
-
-#. type: Source code
-#: ../E/function.txt:61
-#, no-wrap
-msgid ""
-"void Example(int a, float x, string s)\n"
-"{\n"
-"\tmessage(a);\n"
-"\tmessage(x);\n"
-"\tmessage(s);\n"
-"}"
-msgstr ""
-
#. type: Source code
#: ../E/function.txt:123
#, no-wrap
@@ -6666,78 +7037,352 @@ msgid ""
msgstr ""
#. type: Plain text
-#: ../E/function.txt:56
+#: ../E/object.txt:2
#, no-wrap
-msgid "Result type should be void if the function does not give any. Body is just a set of instructions. Function name must be created with the exact same rules applied to variables."
+msgid "Use this type for variables that contain the characteristics of an object, be it a bot, a building, some raw material, an enemy, etc. Here are all properties of an object: "
msgstr ""
-#. type: \b; header
-#: ../E/factory.txt:1
+#. type: Plain text
+#: ../E/object.txt:4
#, no-wrap
-msgid "Instruction factory"
+msgid ""
+"int object.category Category of the object\n"
+"point object.position Position of the object (x,y,z)\n"
+"float object.orientation Orientation of the object (0..360)\n"
+"float object.pitch Forward/backward angle of the object\n"
+"float object.roll Right/left angle of the object \n"
+"float object.energyLevel Energy level (0..1)\n"
+"float object.shieldLevel Shield level (0..1)\n"
+"float object.temperature Jet temperature (0..1)\n"
+"float object.altitude Altitude above ground\n"
+"float object.lifeTime Lifetime of the object\n"
+"object object.energyCell Power cell on the bot\n"
+"object object.load Object carried by the bot\n"
+"int object.team The object's team (see code battles)\n"
+"point object.velocity Velocity of the object"
+msgstr ""
+
+#. type: Plain text
+#: ../E/object.txt:19
+#, no-wrap
+msgid "Also, some objects have additional methods (instructions). See them in the main list in the \"Instructions specific for some objects\" section."
+msgstr ""
+
+#. type: Plain text
+#: ../E/object.txt:22
+#, no-wrap
+msgid "The category of an object allows you to know what it is, f. ex. what kind of bot, building, enemy, etc."
msgstr ""
#. type: Source code
-#: ../E/factory.txt:3
+#: ../E/object.txt:60
#, no-wrap
-msgid "object.factory ( cat, program );"
+msgid "team"
msgstr ""
#. type: Plain text
-#: ../E/factory.txt:5
+#: ../E/object.txt:61
#, no-wrap
-msgid "Starts a construction of a bot of the given category and runs the specified program on it after the construction is finished."
+msgid "The bot's team. Used in code battles. If the object has no team assigned (e.g. in no team-based levels, the object being a resource), this is equal to 0."
+msgstr ""
+
+#. type: Source code
+#: ../E/object.txt:63
+#, no-wrap
+msgid "velocity"
+msgstr ""
+
+#. type: Plain text
+#: ../E/object.txt:64
+#, no-wrap
+msgid "Current velocity of the object. Should be treated as a three-dimensional vector."
+msgstr ""
+
+#. type: \b; header
+#: ../E/pencolor.txt:1
+#, no-wrap
+msgid "Instruction pencolor"
+msgstr ""
+
+#. type: Source code
+#: ../E/pencolor.txt:3
+#, no-wrap
+msgid "pencolor ( color );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/pencolor.txt:4
+#, no-wrap
+msgid "The instruction pencolor(); instructs the bot to change the color of the pencil."
msgstr ""
#. type: \t; header
-#: ../E/busy.txt:7 ../E/destroy.txt:7 ../E/factory.txt:7 ../E/research.txt:7 ../E/takeoff.txt:7
+#: ../E/pencolor.txt:6 ../E/pendown.txt:6
#, no-wrap
-msgid "object"
+msgid "color: int (default value: Black)"
msgstr ""
#. type: Plain text
-#: ../E/factory.txt:8
+#: ../E/pencolor.txt:7 ../E/pendown.txt:7
#, no-wrap
-msgid "BotFactory"
+msgid "Color name."
msgstr ""
#. type: Plain text
-#: ../E/factory.txt:11
-#, no-wrap
-msgid "Category of the robot to construct."
-msgstr ""
-
-#. type: \t; header
-#: ../E/factory.txt:13
-#, no-wrap
-msgid "program: string (default value: \"\")"
-msgstr ""
-
-#. type: Plain text
-#: ../E/factory.txt:14
-#, no-wrap
-msgid "Program that will be run on the bot after factory finishes the construction. This can be either a publicfunction, a filename or just a raw source code."
-msgstr ""
-
-#. type: Plain text
-#: ../E/category.txt:6
-#, no-wrap
-msgid "Below are the different categories available:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/factory.txt:17
+#: ../E/pencolor.txt:10
#, no-wrap
msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by factory().\n"
-"== 0 The construction successfully started\n"
-"!= 0 The construction could not be started (e.g. no Titanium in the factory, the bot is not researched)"
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by pencolor();.\n"
+"== 0 The color was changed\n"
+"!= 0 The instruction did not work"
+msgstr ""
+
+#. type: \b; header
+#: ../E/pendown.txt:1
+#, no-wrap
+msgid "Instruction pendown"
+msgstr ""
+
+#. type: Source code
+#: ../E/pendown.txt:3
+#, no-wrap
+msgid "pendown ( color, width );"
msgstr ""
#. type: Plain text
-#: ../E/factory.txt:22
+#: ../E/pendown.txt:4
#, no-wrap
-msgid "researched, wait, programming, types and categories."
+msgid "The instruction pendown(); instructs the bot to have the pen down, so it starts drawing."
+msgstr ""
+
+#. type: \t; header
+#: ../E/pendown.txt:9
+#, no-wrap
+msgid "width: float (default value: 0.5)"
+msgstr ""
+
+#. type: Plain text
+#: ../E/pendown.txt:10 ../E/penwidth.txt:7
+#, no-wrap
+msgid "Width of the pen. The width cannot be higher than 1.0 and cannot be lower than 0.0. Passing a higher value will result in the width being the highest possible and passing a lower value will result in the width being the lowest possible."
+msgstr ""
+
+#. type: Plain text
+#: ../E/pendown.txt:13
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by pendown();.\n"
+"== 0 The pen is now down\n"
+"!= 0 The instruction did not work"
+msgstr ""
+
+#. type: \b; header
+#: ../E/penup.txt:1
+#, no-wrap
+msgid "Instruction penup"
+msgstr ""
+
+#. type: Source code
+#: ../E/penup.txt:3
+#, no-wrap
+msgid "penup ( );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/penup.txt:4
+#, no-wrap
+msgid "The instruction penup(); instructs the bot to have the pen up, so it stops drawing. The pen is up by default, so it should be used only after using pendown."
+msgstr ""
+
+#. type: Plain text
+#: ../E/penup.txt:7
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by penup();.\n"
+"== 0 The pen is now up\n"
+"!= 0 The instruction did not work"
+msgstr ""
+
+#. type: \b; header
+#: ../E/penwidth.txt:1
+#, no-wrap
+msgid "Instruction penwidth"
+msgstr ""
+
+#. type: Source code
+#: ../E/penwidth.txt:3
+#, no-wrap
+msgid "penwidth ( color );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/penwidth.txt:4
+#, no-wrap
+msgid "The instruction penwidth(); instructs the bot to change the width of the pencil."
+msgstr ""
+
+#. type: \t; header
+#: ../E/penwidth.txt:6
+#, no-wrap
+msgid "width: float"
+msgstr ""
+
+#. type: Plain text
+#: ../E/penwidth.txt:10
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by penwidth();.\n"
+"== 0 The width was changed\n"
+"!= 0 The instruction did not work"
+msgstr ""
+
+#. type: \b; header
+#: ../E/pow.txt:1
+#, no-wrap
+msgid "Instruction pow"
+msgstr ""
+
+#. type: Source code
+#: ../E/pow.txt:3
+#, no-wrap
+msgid "pow ( x, y );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/pow.txt:6
+#, no-wrap
+msgid "Base."
+msgstr ""
+
+#. type: Plain text
+#: ../E/pow.txt:9
+#, no-wrap
+msgid "Exponent."
+msgstr ""
+
+#. type: Plain text
+#: ../E/pow.txt:12
+#, no-wrap
+msgid "x to the y (x raised to the yth power)."
+msgstr ""
+
+#. type: Source code
+#: ../E/radar.txt:15
+#, no-wrap
+msgid "radar ( cat, angle, focus, min, max, sens, filter );"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: ../E/radar.txt:24
+#, no-wrap
+msgid "Array of categories of the objects that should be detected. For example, when you are looking only for grabbers:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:25 ../E/search.txt:10
+#, no-wrap
+msgid "int bots[4];"
+msgstr ""
+
+#. type: Source code
+#: ../E/radar.txt:26
+#, no-wrap
+msgid ""
+"bots[0] = WheeledGrabber;\n"
+"bots[1] = TrackedGrabber;\n"
+"bots[2] = WingedGrabber;\n"
+"bots[3] = LeggedGrabber;\n"
+"object nearestGrabber = radar(bots);"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: ../E/radar.txt:31
+#, no-wrap
+msgid "Keyword Any if you are looking for any object (including even plants and so on). Filters may be useful to use with this keyword."
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:33
+#, no-wrap
+msgid "angle: float (default value: 0)"
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:39
+#, no-wrap
+msgid "focus: float (default value: 360)"
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:42
+#, no-wrap
+msgid "min: float (default value: 0)"
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:45
+#, no-wrap
+msgid "max: float (default value: 1000)"
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:48
+#, no-wrap
+msgid "sens: float (default value: 1)"
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:51
+#, no-wrap
+msgid "filter: int (default value: FilterNone)"
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:52
+#, no-wrap
+msgid "Determines which type of objects should be detected. Especially useful in use with an array or Any. The following filters are available:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:54
+#, no-wrap
+msgid ""
+"FilterNoneDetects everything (default)\n"
+"FilterOnlyLandingDetects only objects being on the ground\n"
+"FilterOnlyFlyingDetects only objects not being on the ground\n"
+"FilterFriendlyDetects only allies (objects in the same team)\n"
+"FilterEnemyDetects only enemies (objects in an other team except neutral)\n"
+"FilterNeutralDetects only neutral objects (e.g. resources)"
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:61
+#, no-wrap
+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. Attention: you should use FilterNeutral instead of 0 or else it will not work."
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:63
+#, no-wrap
+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/rand.txt:1
+#, no-wrap
+msgid "Instruction rand"
+msgstr ""
+
+#. type: Source code
+#: ../E/rand.txt:3
+#, no-wrap
+msgid "rand ( );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/rand.txt:6
+#, no-wrap
+msgid "Pseudorandom number between 0 and 1 (including 0, but excluding 1)."
msgstr ""
#. type: \b; header
@@ -6752,18 +7397,71 @@ msgstr ""
msgid "object.research ( type );"
msgstr ""
+#. type: Plain text
+#: ../E/research.txt:5
+#, no-wrap
+msgid "Starts a research of the given type."
+msgstr ""
+
+#. type: Plain text
+#: ../E/research.txt:8
+#, no-wrap
+msgid "ResearchCenter or AutoLab."
+msgstr ""
+
#. type: \t; header
#: ../E/research.txt:10
#, no-wrap
msgid "type: int"
msgstr ""
+#. type: Plain text
+#: ../E/research.txt:14
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by research().\n"
+"== 0 The research successfully started\n"
+"!= 0 The research could not be started (e.g. the research is disabled in the level, no power cell)"
+msgstr ""
+
#. type: Plain text
#: ../E/research.txt:19
#, no-wrap
msgid "Research names, canresearch, researched, programming, types and categories."
msgstr ""
+#. type: \b; header
+#: ../E/researched.txt:1
+#, no-wrap
+msgid "Instruction researched"
+msgstr ""
+
+#. type: Source code
+#: ../E/researched.txt:3
+#, no-wrap
+msgid "researched ( research );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/researched.txt:5
+#, no-wrap
+msgid "Checks if the research was done in the level."
+msgstr ""
+
+#. type: Plain text
+#: ../E/researched.txt:11
+#, no-wrap
+msgid ""
+"true if the research was done\n"
+"false if the research was not done"
+msgstr ""
+
+#. type: Plain text
+#: ../E/researched.txt:15
+#, no-wrap
+msgid "Research names, research, canresearch, canbuildprogramming, types and categories."
+msgstr ""
+
#. type: \b; header
#: ../E/researches.txt:1
#, no-wrap
@@ -6782,167 +7480,6 @@ msgstr ""
msgid "In a program, research names are always displayed on a red background. If a research name is not highlighted in red, it is misspelled. Caps and lower cases should be kept as is."
msgstr ""
-#. type: Plain text
-#: ../E/researches.txt:28
-#, no-wrap
-msgid "CBOT Language, variables and categories."
-msgstr ""
-
-#. type: \b; header
-#: ../E/busy.txt:1
-#, no-wrap
-msgid "Instruction busy"
-msgstr ""
-
-#. type: Source code
-#: ../E/busy.txt:3
-#, no-wrap
-msgid "object.busy ( );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/busy.txt:5
-#, no-wrap
-msgid "Checks if the object is busy."
-msgstr ""
-
-#. type: Plain text
-#: ../E/busy.txt:8
-#, no-wrap
-msgid "Any building which can take some action (e.g. Converter)."
-msgstr ""
-
-#. type: Plain text
-#: ../E/busy.txt:11
-#, no-wrap
-msgid ""
-"true if the object is doing something (e.g. converting)\n"
-"false if the object is not doing anything"
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:2
-#, no-wrap
-msgid "Use this type for variables that contain the characteristics of an object, be it a bot, a building, some raw material, an enemy, etc. Here are all properties of an object: "
-msgstr ""
-
-#. type: \b; header
-#: ../E/takeoff.txt:1
-#, no-wrap
-msgid "Instruction takeoff"
-msgstr ""
-
-#. type: Source code
-#: ../E/takeoff.txt:3
-#, no-wrap
-msgid "object.takeoff ( );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/takeoff.txt:5
-#, no-wrap
-msgid "Takes off the spaceship."
-msgstr ""
-
-#. type: Plain text
-#: ../E/takeoff.txt:8
-#, no-wrap
-msgid "SpaceShip"
-msgstr ""
-
-#. type: Source code
-#: ../E/object.txt:60
-#, no-wrap
-msgid "team"
-msgstr ""
-
-#. type: Source code
-#: ../E/object.txt:63
-#, no-wrap
-msgid "velocity"
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:64
-#, no-wrap
-msgid "Current velocity of the object. Should be treated as a three-dimensional vector."
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:19
-#, no-wrap
-msgid "Also, some objects have additional methods (instructions). See them in the main list in the \"Instructions specific for some objects\" section."
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:22
-#, no-wrap
-msgid "The category of an object allows you to know what it is, f. ex. what kind of bot, building, enemy, etc."
-msgstr ""
-
-#. type: Plain text
-#: ../E/research.txt:8
-#, no-wrap
-msgid "ResearchCenter or AutoLab."
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:8
-#, no-wrap
-msgid "Buildings:"
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:31
-#, no-wrap
-msgid "Portable Objects:"
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:44
-#, no-wrap
-msgid "Robots:"
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:76
-#, no-wrap
-msgid "Enemies:"
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:86
-#, no-wrap
-msgid "Miscellaneous:"
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:95
-#, no-wrap
-msgid "Flags and Other Indicators:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/research.txt:5
-#, no-wrap
-msgid "Starts a research of the given type."
-msgstr ""
-
-#. type: Plain text
-#: ../E/canresearch.txt:8 ../E/research.txt:11 ../E/researched.txt:8
-#, no-wrap
-msgid "Research name."
-msgstr ""
-
-#. type: Plain text
-#: ../E/research.txt:14
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by research().\n"
-"== 0 The research successfully started\n"
-"!= 0 The research could not be started (e.g. the research is disabled in the level, no power cell)"
-msgstr ""
-
#. type: Plain text
#: ../E/researches.txt:6
#, no-wrap
@@ -6999,360 +7536,39 @@ msgid ""
msgstr ""
#. type: Plain text
-#: ../E/takeoff.txt:11
+#: ../E/researches.txt:28
#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by takeoff().\n"
-"== 0 Spaceship takes off\n"
-"!= 0 Spaceship could not take off (e.g. mission is not finished yet)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:61
-#, no-wrap
-msgid "The bot's team. Used in code battles. If the object has no team assigned (e.g. in no team-based levels, the object being a resource), this is equal to 0."
+msgid "CBOT Language, variables and categories."
msgstr ""
#. type: \b; header
-#: ../E/colors.txt:1
+#: ../E/round.txt:1
#, no-wrap
-msgid "Value Colors"
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:2
-#, no-wrap
-msgid "Color names are used to define a specific color to use. They can be passed to functions like pendown or pencolor."
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:4
-#, no-wrap
-msgid "In a program, colors are always displayed on a red background. If a color isn't highlighted in red, it is misspelled. Caps and lower cases should be kept as is."
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:6
-#, no-wrap
-msgid "Below are the different colors available:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:8
-#, no-wrap
-msgid ""
-"White\n"
-"Black\n"
-"Gray\n"
-"LightGray\n"
-"Red\n"
-"Pink\n"
-"Purple\n"
-"Orange\n"
-"Yellow\n"
-"Beige\n"
-"Brown\n"
-"Skin\n"
-"Green\n"
-"LightGreen\n"
-"Blue\n"
-"LightBlue"
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:25
-#, no-wrap
-msgid "You can also draw colored symbols:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:27
-#, no-wrap
-msgid ""
-"BlackArrow\n"
-"RedArrow"
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:4
-#, no-wrap
-msgid ""
-"int object.category Category of the object\n"
-"point object.position Position of the object (x,y,z)\n"
-"float object.orientation Orientation of the object (0..360)\n"
-"float object.pitch Forward/backward angle of the object\n"
-"float object.roll Right/left angle of the object \n"
-"float object.energyLevel Energy level (0..1)\n"
-"float object.shieldLevel Shield level (0..1)\n"
-"float object.temperature Jet temperature (0..1)\n"
-"float object.altitude Altitude above ground\n"
-"float object.lifeTime Lifetime of the object\n"
-"object object.energyCell Power cell on the bot\n"
-"object object.load Object carried by the bot\n"
-"int object.team The object's team (see code battles)\n"
-"point object.velocity Velocity of the object"
-msgstr ""
-
-#. type: \b; header
-#: ../E/pencolor.txt:1
-#, no-wrap
-msgid "Instruction pencolor"
+msgid "Instruction round"
msgstr ""
#. type: Source code
-#: ../E/pencolor.txt:3
+#: ../E/round.txt:3
#, no-wrap
-msgid "pencolor ( color );"
-msgstr ""
-
-#. type: \t; header
-#: ../E/pencolor.txt:6 ../E/pendown.txt:6
-#, no-wrap
-msgid "color: int (default value: Black)"
+msgid "round ( value );"
msgstr ""
#. type: Plain text
-#: ../E/pencolor.txt:7 ../E/pendown.txt:7
+#: ../E/round.txt:4
#, no-wrap
-msgid "Color name."
-msgstr ""
-
-#. type: \b; header
-#: ../E/pendown.txt:1
-#, no-wrap
-msgid "Instruction pendown"
-msgstr ""
-
-#. type: Source code
-#: ../E/pendown.txt:3
-#, no-wrap
-msgid "pendown ( color, width );"
-msgstr ""
-
-#. type: \t; header
-#: ../E/pendown.txt:9
-#, no-wrap
-msgid "width: float (default value: 0.5)"
+msgid "Rounds a number."
msgstr ""
#. type: Plain text
-#: ../E/pendown.txt:10 ../E/penwidth.txt:7
+#: ../E/round.txt:10
#, no-wrap
-msgid "Width of the pen. The width cannot be higher than 1.0 and cannot be lower than 0.0. Passing a higher value will result in the width being the highest possible and passing a lower value will result in the width being the lowest possible."
+msgid "Rounded value. For example, round(2.5) is 3.0, whereas round(2.4) is 2.0."
msgstr ""
#. type: Plain text
-#: ../E/pendown.txt:13
+#: ../E/round.txt:13
#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by pendown();.\n"
-"== 0 The pen is now down\n"
-"!= 0 The instruction did not work"
-msgstr ""
-
-#. type: Plain text
-#: ../E/pencolor.txt:4
-#, no-wrap
-msgid "The instruction pencolor(); instructs the bot to change the color of the pencil."
-msgstr ""
-
-#. type: Plain text
-#: ../E/pencolor.txt:10
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by pencolor();.\n"
-"== 0 The color was changed\n"
-"!= 0 The instruction did not work"
-msgstr ""
-
-#. type: \b; header
-#: ../E/penup.txt:1
-#, no-wrap
-msgid "Instruction penup"
-msgstr ""
-
-#. type: Source code
-#: ../E/penup.txt:3
-#, no-wrap
-msgid "penup ( );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/penup.txt:7
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by penup();.\n"
-"== 0 The pen is now up\n"
-"!= 0 The instruction did not work"
-msgstr ""
-
-#. type: \b; header
-#: ../E/penwidth.txt:1
-#, no-wrap
-msgid "Instruction penwidth"
-msgstr ""
-
-#. type: Source code
-#: ../E/penwidth.txt:3
-#, no-wrap
-msgid "penwidth ( color );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/penwidth.txt:4
-#, no-wrap
-msgid "The instruction penwidth(); instructs the bot to change the width of the pencil."
-msgstr ""
-
-#. type: \t; header
-#: ../E/penwidth.txt:6
-#, no-wrap
-msgid "width: float"
-msgstr ""
-
-#. type: Plain text
-#: ../E/penwidth.txt:10
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by penwidth();.\n"
-"== 0 The width was changed\n"
-"!= 0 The instruction did not work"
-msgstr ""
-
-#. type: Plain text
-#: ../E/pendown.txt:4
-#, no-wrap
-msgid "The instruction pendown(); instructs the bot to have the pen down, so it starts drawing."
-msgstr ""
-
-#. type: Plain text
-#: ../E/penup.txt:4
-#, no-wrap
-msgid "The instruction penup(); instructs the bot to have the pen up, so it stops drawing. The pen is up by default, so it should be used only after using pendown."
-msgstr ""
-
-#. type: \b; header
-#: ../E/canresearch.txt:1
-#, no-wrap
-msgid "Instruction canresearch"
-msgstr ""
-
-#. type: Source code
-#: ../E/canresearch.txt:3
-#, no-wrap
-msgid "canresearch ( research );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/canresearch.txt:5
-#, no-wrap
-msgid "Checks if the research can be done in the level."
-msgstr ""
-
-#. type: \t; header
-#: ../E/canresearch.txt:7 ../E/researched.txt:7
-#, no-wrap
-msgid "research: int"
-msgstr ""
-
-#. type: Plain text
-#: ../E/canresearch.txt:11
-#, no-wrap
-msgid ""
-"true if the research can be done (even if it is already done, to check that, use the researched instruction)\n"
-"false if the research cannot be done"
-msgstr ""
-
-#. type: Plain text
-#: ../E/canresearch.txt:15
-#, no-wrap
-msgid "Research names, research, researched, programming, types and categories."
-msgstr ""
-
-#. type: \b; header
-#: ../E/researched.txt:1
-#, no-wrap
-msgid "Instruction researched"
-msgstr ""
-
-#. type: Source code
-#: ../E/researched.txt:3
-#, no-wrap
-msgid "researched ( research );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/researched.txt:5
-#, no-wrap
-msgid "Checks if the research was done in the level."
-msgstr ""
-
-#. type: Plain text
-#: ../E/researched.txt:11
-#, no-wrap
-msgid ""
-"true if the research was done\n"
-"false if the research was not done"
-msgstr ""
-
-#. type: Plain text
-#: ../E/researched.txt:15
-#, no-wrap
-msgid "Research names, research, canresearch, canbuildprogramming, types and categories."
-msgstr ""
-
-#. type: \b; header
-#: ../E/flatspace.txt:1
-#, no-wrap
-msgid "Instruction flatspace"
-msgstr ""
-
-#. type: Source code
-#: ../E/flatspace.txt:3
-#, no-wrap
-msgid "flatspace ( center, flatmin, rmin, rmax, dist );"
-msgstr ""
-
-#. type: \t; header
-#: ../E/flatspace.txt:10
-#, no-wrap
-msgid "flatmin: float"
-msgstr ""
-
-#. type: Plain text
-#: ../E/flatspace.txt:11
-#, no-wrap
-msgid "Minimum radius of flat ground around the desired position."
-msgstr ""
-
-#. type: Plain text
-#: ../E/flatspace.txt:5
-#, no-wrap
-msgid "Determines the position of the nearest free space with at least flatmin of flat ground around a given position. Works similar to space();. Useful for finding a place for a building."
-msgstr ""
-
-#. type: Plain text
-#: ../E/function.txt:14
-#, no-wrap
-msgid "Nothing but a name can be changed in the main function. The keyword extern distinguish the main function from others."
-msgstr ""
-
-#. type: Bullet: 'o'
-#: ../E/radar.txt:24
-#, no-wrap
-msgid "Array of categories of the objects that should be detected. For example, when you are looking only for grabbers:"
-msgstr ""
-
-#. type: Bullet: 'o'
-#: ../E/detect.txt:12 ../E/radar.txt:23
-#, no-wrap
-msgid "Category of the objects that should be detected. For example, when you are looking for an ant, write radar(AlienAnt). "
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:25 ../E/search.txt:10
-#, no-wrap
-msgid "int bots[4];"
+msgid "trunc, floor, ceil, programming, types and expressions."
msgstr ""
#. type: Plain text
@@ -7392,67 +7608,45 @@ msgid "position: point (default value: destroy"
+msgid "Instruction sin"
msgstr ""
#. type: Source code
-#: ../E/destroy.txt:3
+#: ../E/sin.txt:3
#, no-wrap
-msgid "object.destroy ( );"
+msgid "sin ( angle );"
msgstr ""
#. type: Plain text
-#: ../E/destroy.txt:5
+#: ../E/sin.txt:9
#, no-wrap
-msgid "Destroys an object."
+msgid "Sine of the angle."
+msgstr ""
+
+#. type: \b; header
+#: ../E/sqrt.txt:1
+#, no-wrap
+msgid "Instruction sqrt"
+msgstr ""
+
+#. type: Source code
+#: ../E/sqrt.txt:3
+#, no-wrap
+msgid "sqrt ( value );"
msgstr ""
#. type: Plain text
-#: ../E/destroy.txt:8
+#: ../E/sqrt.txt:6
#, no-wrap
-msgid "Destroyer."
+msgid "Non-negative number."
msgstr ""
#. type: Plain text
-#: ../E/category.txt:10
+#: ../E/sqrt.txt:9
#, no-wrap
-msgid ""
-" HoustonMission Control\n"
-" SpaceShipSpaceship\n"
-" BotFactoryRobot Factory\n"
-" ResearchCenterResearch Center\n"
-" RadarStationRadar\n"
-" ExchangePostInformation Exchange Post\n"
-" RepairCenterRepair Center\n"
-" DefenseTowerDefense Tower\n"
-" AutoLabOrganic Matter Analyzer \n"
-" PowerStationPower Station\n"
-" PowerPlantPower Cell Factory\n"
-" NuclearPlantNuclear Plant\n"
-" ConverterTitanium Converter\n"
-" DerrickDerrick\n"
-" PowerCaptorParabolic Lightning Conductor\n"
-" VaultVault\n"
-" StartAreaStarting Pad\n"
-" GoalAreaFinishing Pad\n"
-" AlienNestAlien Nest"
-msgstr ""
-
-#. type: Plain text
-#: ../E/destroy.txt:11
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by destroy().\n"
-"== 0 The operation of destroying of an object was started\n"
-"!= 0 The instruction could not be done (e.g. nothing to destroy)"
-msgstr ""
-
-#. type: Bullet: 'o'
-#: ../E/detect.txt:21 ../E/search.txt:17
-#, no-wrap
-msgid "Keyword Any if you are looking for any object (including even plants and so on)."
+msgid "Square root of the value."
msgstr ""
#. type: \b; header
@@ -7467,6 +7661,18 @@ msgstr ""
msgid "With the instruction switch() {} you can execute a proper set of instructions (a case) basing on some value."
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: Source code
#: ../E/switch.txt:9
#, no-wrap
@@ -7529,6 +7735,12 @@ msgid ""
"}"
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: Source code
#: ../E/switch.txt:48
#, no-wrap
@@ -7543,24 +7755,6 @@ msgid ""
"}"
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
@@ -7578,276 +7772,95 @@ msgid ""
"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 ""
-#. type: \b; header
-#: ../E/detect.txt:1
-#, no-wrap
-msgid "Instruction detect"
-msgstr ""
-
-#. type: Source code
-#: ../E/detect.txt:6
-#, no-wrap
-msgid "detect ( cat );"
-msgstr ""
-
#. type: Plain text
-#: ../E/detect.txt:8
+#: ../E/switch.txt:68
#, no-wrap
-msgid "Detects the nearest object of the specified category being in front of the bot. It is similar to the following instruction:"
-msgstr ""
-
-#. type: Source code
-#: ../E/detect.txt:9
-#, no-wrap
-msgid "radar(cat, 0, 45, 0, 20);"
-msgstr ""
-
-#. type: Source code
-#: ../E/detect.txt:14
-#, no-wrap
-msgid ""
-"int bots[4];\n"
-"bots[0] = WheeledGrabber;\n"
-"bots[1] = TrackedGrabber;\n"
-"bots[2] = WingedGrabber;\n"
-"bots[3] = LeggedGrabber;\n"
-"object nearestGrabber = radar(bots);"
-msgstr ""
-
-#. type: Plain text
-#: ../E/detect.txt:24
-#, no-wrap
-msgid ""
-"true if the object was found\n"
-"false if the object was not found"
+msgid "Do not put a semicolon at the end of the switch ( ) { } instruction."
msgstr ""
#. type: \b; header
-#: ../E/radar.txt:1
+#: ../E/takeoff.txt:1
#, no-wrap
-msgid "Instruction radar"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:2
-#, no-wrap
-msgid "With the instruction radar(), you can look for objects like enemies, bots, buildings or raw materials."
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:5
-#, no-wrap
-msgid "Write in brackets the name of the object that you look for. Put the result in a variable of the typeobject. Here is an example that looks for the closest ant:"
+msgid "Instruction takeoff"
msgstr ""
#. type: Source code
-#: ../E/radar.txt:7
+#: ../E/takeoff.txt:3
+#, no-wrap
+msgid "object.takeoff ( );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/takeoff.txt:5
+#, no-wrap
+msgid "Takes off the spaceship."
+msgstr ""
+
+#. type: Plain text
+#: ../E/takeoff.txt:8
+#, no-wrap
+msgid "SpaceShip"
+msgstr ""
+
+#. type: Plain text
+#: ../E/takeoff.txt:11
#, no-wrap
msgid ""
-"// At the beginning of the program:\n"
-"object item; // variable declaration\n"
-"\n"
-"// Look for the closest ant\n"
-"item = radar(AlienAnt);"
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by takeoff().\n"
+"== 0 Spaceship takes off\n"
+"!= 0 Spaceship could not take off (e.g. mission is not finished yet)"
+msgstr ""
+
+#. type: \b; header
+#: ../E/tan.txt:1
+#, no-wrap
+msgid "Instruction tan"
msgstr ""
#. type: Source code
-#: ../E/radar.txt:15
+#: ../E/tan.txt:3
#, no-wrap
-msgid "radar ( cat, angle, focus, min, max, sens, filter );"
+msgid "tan ( angle );"
msgstr ""
#. type: Plain text
-#: ../E/radar.txt:17
+#: ../E/tan.txt:6
#, no-wrap
-msgid "Detects an object according to several parameters. "
-msgstr ""
-
-#. type: Image filename
-#: ../E/radar.txt:19
-#, no-wrap
-msgid "radar1"
+msgid "Angle in degrees (except multiples of 90)."
msgstr ""
#. type: Plain text
-#: ../E/radar.txt:20
+#: ../E/tan.txt:9
#, no-wrap
-msgid "Seen from above, the purple zone corresponds to the zone where objects will be detected. "
+msgid "Tangent of the angle."
+msgstr ""
+
+#. type: \b; header
+#: ../E/trunc.txt:1
+#, no-wrap
+msgid "Instruction trunc"
msgstr ""
#. type: Source code
-#: ../E/radar.txt:26
+#: ../E/trunc.txt:3
#, no-wrap
-msgid ""
-"bots[0] = WheeledGrabber;\n"
-"bots[1] = TrackedGrabber;\n"
-"bots[2] = WingedGrabber;\n"
-"bots[3] = LeggedGrabber;\n"
-"object nearestGrabber = radar(bots);"
-msgstr ""
-
-#. type: Bullet: 'o'
-#: ../E/radar.txt:31
-#, no-wrap
-msgid "Keyword Any if you are looking for any object (including even plants and so on). Filters may be useful to use with this keyword."
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:33
-#, no-wrap
-msgid "angle: float (default value: 0)"
+msgid "trunc ( value );"
msgstr ""
#. type: Plain text
-#: ../E/radar.txt:34
+#: ../E/trunc.txt:4
#, no-wrap
-msgid ""
-"Direction that the radar is facing, in degrees. \n"
-" 0 -> radar is facing straight ahead\n"
-"-90 -> radar is facing a quarter turn right\n"
-" 90 -> radar is facing a quarter turn left"
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:39
-#, no-wrap
-msgid "focus: float (default value: 360)"
+msgid "Truncation is a method of approximating a decimal number by dropping all decimal places past a certain point without rounding. For positive numbers, it works like the floor(); function, and for negative numbers, it works like the ceil(); function. It can be said that it rounds towards zero."
msgstr ""
#. type: Plain text
-#: ../E/radar.txt:40
+#: ../E/trunc.txt:10
#, no-wrap
-msgid "Opening angle of the radar, in degrees. "
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:42
-#, no-wrap
-msgid "min: float (default value: 0)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:43
-#, no-wrap
-msgid "Minimum detection distance, in meters. Objects that are closer than the minimum distance will not be detected. "
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:45
-#, no-wrap
-msgid "max: float (default value: 1000)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:46
-#, no-wrap
-msgid "Maximum detection distance, in meters. Objects that are farther away than the maximum distance will not be detected. "
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:48
-#, no-wrap
-msgid "sens: float (default value: 1)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:49
-#, no-wrap
-msgid "Determines which way the objects are detected. With value 1, returns the closest object found in the specified zone. With value -1, the farthest object in the zone will be returned. "
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:51
-#, no-wrap
-msgid "filter: int (default value: FilterNone)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:52
-#, no-wrap
-msgid "Determines which type of objects should be detected. Especially useful in use with an array or Any. The following filters are available:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:54
-#, no-wrap
-msgid ""
-"FilterNoneDetects everything (default)\n"
-"FilterOnlyLandingDetects only objects being on the ground\n"
-"FilterOnlyFlyingDetects only objects not being on the ground\n"
-"FilterFriendlyDetects only allies (objects in the same team)\n"
-"FilterEnemyDetects only enemies (objects in an other team except neutral)\n"
-"FilterNeutralDetects only neutral objects (e.g. resources)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:61
-#, no-wrap
-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. Attention: you should use FilterNeutral instead of 0 or else it will not work."
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:63
-#, no-wrap
-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: Plain text
-#: ../E/radar.txt:66
-#, no-wrap
-msgid "Returns the first object found that corresponds to the specified category in the specified zone. If no object was found, returns the value null."
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:69
-#, no-wrap
-msgid "You do not have to give all the parameters. Here are two examples of instructions that are equivalent: "
-msgstr ""
-
-#. type: Source code
-#: ../E/radar.txt:71
-#, no-wrap
-msgid ""
-"\tradar(Titanium, 0, 360, 0, 1000);\n"
-"\tradar(Titanium); // equivalent"
-msgstr ""
-
-#. type: Source code
-#: ../E/radar.txt:74
-#, no-wrap
-msgid ""
-"\tradar(Titanium, 0, 90, 0, 1000);\n"
-"\tradar(Titanium, 0, 90); // equivalent"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:77
-#, no-wrap
-msgid ""
-"When one or more parameters are not specified, the default values indicated above are used instead; only the first parameter is compulsory.\n"
-"Generally, only the first parameter is specified: f. ex. radar (AlienAnt) detects the closest ant, wherever it may be. "
-msgstr ""
-
-#. type: Plain text
-#: ../E/detect.txt:2
-#, no-wrap
-msgid "With the instruction detect();, you can look for objects like enemies, bots, buildings or raw materials, which are in front of the bot. It is a simpler version of radar();."
-msgstr ""
-
-#. type: Bullet: 'o'
-#: ../E/detect.txt:13
-#, no-wrap
-msgid "Array of categories of the objects that should be detected. For example, when you are looking only for grabbers:"
+msgid "Truncated value. For example, trunc(-2.5) is -2.00."
msgstr ""
diff --git a/help/cbot/po/ru.po b/help/cbot/po/ru.po
index 71b7a3f7..e9fc7d9d 100644
--- a/help/cbot/po/ru.po
+++ b/help/cbot/po/ru.po
@@ -3575,24 +3575,156 @@ msgstr ""
"class, private, functions\n"
"Программирование, типы и категории."
+#. type: \b; header
+#: ../E/radar.txt:1
+#, no-wrap
+msgid "Instruction radar"
+msgstr "Инструкция radar"
+
+#. type: Plain text
+#: ../E/radar.txt:2
+#, no-wrap
+msgid "With the instruction radar(), you can look for objects like enemies, bots, buildings or raw materials."
+msgstr "С помощью инструкции radar() вы можете следить за такими объектами как враги, боты, здания или природные ископаемые."
+
+#. type: Plain text
+#: ../E/radar.txt:5
+#, no-wrap
+msgid "Write in brackets the name of the object that you look for. Put the result in a variable of the typeobject. Here is an example that looks for the closest ant:"
+msgstr "В скобках напишите название объекта, который вы ищете. Поместите результат в переменную типаобъекта. Вот пример поиска ближайшего муравья:"
+
+#. type: Source code
+#: ../E/radar.txt:7
+#, no-wrap
+msgid ""
+"// At the beginning of the program:\n"
+"object item; // variable declaration\n"
+"\n"
+"// Look for the closest ant\n"
+"item = radar(AlienAnt);"
+msgstr ""
+"// В начале программы:\n"
+"object item; // объявление переменной\n"
+"\n"
+"// Поиск ближайшего муравья\n"
+"item = radar(AlienAnt);"
+
+#. type: Plain text
+#: ../E/radar.txt:17
+#, no-wrap
+msgid "Detects an object according to several parameters. "
+msgstr "Обнаруживает объект в соответствии с несколькими параметрами."
+
+#. type: Image filename
+#: ../E/radar.txt:19
+#, no-wrap
+msgid "radar1"
+msgstr "radar1"
+
+#. type: Plain text
+#: ../E/radar.txt:20
+#, no-wrap
+msgid "Seen from above, the purple zone corresponds to the zone where objects will be detected. "
+msgstr "Как видно выше, пурпурная зона соответствует зоне, где будут обнаружены объекты."
+
#. type: \t; header
#: ../E/search.txt:7
#, no-wrap
msgid "category: int"
msgstr "категория: int"
+#. type: Plain text
+#: ../E/radar.txt:34
+#, no-wrap
+msgid ""
+"Direction that the radar is facing, in degrees. \n"
+" 0 -> radar is facing straight ahead\n"
+"-90 -> radar is facing a quarter turn right\n"
+" 90 -> radar is facing a quarter turn left"
+msgstr ""
+"Направление, в котором смотрит радар, в градусах.\n"
+" 0 -> радар смотрит прямо вперед\n"
+"-90 -> радар смотрит на четверть круга вправо\n"
+" 90 -> радар смотрит на четверть круга влево"
+
+#. type: Plain text
+#: ../E/radar.txt:40
+#, no-wrap
+msgid "Opening angle of the radar, in degrees. "
+msgstr "Угол раскрытия радара в градусах."
+
+#. type: Plain text
+#: ../E/radar.txt:43
+#, no-wrap
+msgid "Minimum detection distance, in meters. Objects that are closer than the minimum distance will not be detected. "
+msgstr "Минимальное расстояние обнаружения в метрах. Объекты, которые находятся на расстояниях меньших, чем минимальное расстояние, обнаружены не будут."
+
+#. type: Plain text
+#: ../E/radar.txt:46
+#, no-wrap
+msgid "Maximum detection distance, in meters. Objects that are farther away than the maximum distance will not be detected. "
+msgstr "Максимальное расстояние обнаружения в метрах. Объекты, которые находятся на расстояниях, больше максимального расстояния, обнаружены не будут."
+
+#. type: Plain text
+#: ../E/radar.txt:49
+#, no-wrap
+msgid "Determines which way the objects are detected. With value 1, returns the closest object found in the specified zone. With value -1, the farthest object in the zone will be returned. "
+msgstr "Определяет каким образом будут обнаруживаться объекты. Если его значение 1, то будет возвращен ближайший объект в указанной зоне. Если значение -1, то будет возвращен самый дальний объект в зоне обнаружения."
+
#. type: \t; header
#: ../E/radar.txt:65 ../E/retobj.txt:10 ../E/search.txt:22
#, no-wrap
msgid "Return value: object"
msgstr "Возвращаемое значение: object"
+#. type: Plain text
+#: ../E/radar.txt:66
+#, no-wrap
+msgid "Returns the first object found that corresponds to the specified category in the specified zone. If no object was found, returns the value null."
+msgstr "Возвращает первый найденный объект, который соответствует указанной категории в указанной зоне. Если объект найден не был, то возвращается значение null."
+
#. type: \t; header
#: ../E/cond.txt:21 ../E/radar.txt:68
#, no-wrap
msgid "Remark"
msgstr "Замечание"
+#. type: Plain text
+#: ../E/radar.txt:69
+#, no-wrap
+msgid "You do not have to give all the parameters. Here are two examples of instructions that are equivalent: "
+msgstr "Вы не должны указывать все параметры. Вот два примера эквивалентных инструкций:"
+
+#. type: Source code
+#: ../E/radar.txt:71
+#, no-wrap
+msgid ""
+"\tradar(Titanium, 0, 360, 0, 1000);\n"
+"\tradar(Titanium); // equivalent"
+msgstr ""
+"\tradar(Titanium, 0, 360, 0, 1000);\n"
+"\tradar(Titanium); // эквивалентна предыдущей"
+
+#. type: Source code
+#: ../E/radar.txt:74
+#, no-wrap
+msgid ""
+"\tradar(Titanium, 0, 90, 0, 1000);\n"
+"\tradar(Titanium, 0, 90); // equivalent"
+msgstr ""
+"\tradar(Titanium, 0, 90, 0, 1000);\n"
+"\tradar(Titanium, 0, 90); // эквивалентна предыдущей"
+
+#. type: Plain text
+#: ../E/radar.txt:77
+#, no-wrap
+msgid ""
+"When one or more parameters are not specified, the default values indicated above are used instead; only the first parameter is compulsory.\n"
+"Generally, only the first parameter is specified: f. ex. radar (AlienAnt) detects the closest ant, wherever it may be. "
+msgstr ""
+"Когда не определен один или более параметров, то используются указанные выше значения по умолчанию; обязателен только первый параметр.\n"
+"Обычно указывается только первый параметр: например radar (AlienAnt) обнаружит ближайшего муравья, где бы он ни был."
+
#. type: \b; header
#: ../E/readln.txt:1
#, no-wrap
@@ -5808,122 +5940,6 @@ msgstr ""
"file, open, close, readln and eof.\n"
"Программирование, типы и категории."
-#. type: Plain text
-#: ../E/for.txt:19
-#, no-wrap
-msgid ""
-"Example: count from 1 to 4\n"
-"for ( i = 1 ; i <= 4 ; i++ )"
-msgstr ""
-
-#. type: Source code
-#: ../E/build.txt:15
-#, no-wrap
-msgid "build ( cat );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:17
-#, no-wrap
-msgid "Tells the robot to build a building using a titanium cube placed on a flat ground nearby."
-msgstr ""
-
-#. type: \t; header
-#: ../E/build.txt:19 ../E/buildingenabled.txt:16 ../E/canbuild.txt:16 ../E/detect.txt:11 ../E/factory.txt:10 ../E/radar.txt:22
-#, no-wrap
-msgid "cat: int"
-msgstr ""
-
-#. type: \b; header
-#: ../E/build.txt:1
-#, no-wrap
-msgid "Instruction build"
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:23
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by build().\n"
-"== 0 Successfully built\n"
-"!= 0 Impossible to build (for example, the nearest titanium cube is too far away or the specified building is not available in the mission)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:7
-#, no-wrap
-msgid "Here is an example of a program that looks for the nearest titanium cube, goes to the position and builds a bot factory."
-msgstr ""
-
-#. type: Source code
-#: ../E/build.txt:9
-#, no-wrap
-msgid ""
-" object item = radar(Titanium);\n"
-" goto(item.position);\n"
-" build(BotFactory);"
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:5
-#, no-wrap
-msgid "This command is mostly useful in an attempt to build a fully automatised base, where an astronaut does not need to do anything except starting a program and watching bots working. What is more, it makes beating the game by using only programming a possible task (however, it is a challenge rather for experienced gamers, who beat the whole game at least once)."
-msgstr ""
-
-#. type: Source code
-#: ../E/aim.txt:3
-#, no-wrap
-msgid "aim ( y, x );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/aim.txt:10
-#, no-wrap
-msgid "When controlling the robot through programming, the gun can be also turned left or right by turning the whole robot with the instruction turn."
-msgstr ""
-
-#. type: \t; header
-#: ../E/aim.txt:12 ../E/atan2.txt:7 ../E/pow.txt:8
-#, no-wrap
-msgid "y: float"
-msgstr ""
-
-#. type: \t; header
-#: ../E/atan2.txt:10 ../E/pow.txt:5
-#, no-wrap
-msgid "x: float"
-msgstr ""
-
-#. type: Plain text
-#: ../E/aim.txt:5
-#, no-wrap
-msgid "This instruction sets the vertical and the horizontal angle of the cannon. The following robots are equipped with a cannon: "
-msgstr ""
-
-#. type: \b; header
-#: ../E/rand.txt:1
-#, no-wrap
-msgid "Instruction rand"
-msgstr ""
-
-#. type: Source code
-#: ../E/rand.txt:3
-#, no-wrap
-msgid "rand ( );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/rand.txt:6
-#, no-wrap
-msgid "Pseudorandom number between 0 and 1 (including 0, but excluding 1)."
-msgstr ""
-
-#. type: Plain text
-#: ../E/acos.txt:12 ../E/asin.txt:12 ../E/atan.txt:12 ../E/atan2.txt:17 ../E/cos.txt:12 ../E/pow.txt:15 ../E/rand.txt:9 ../E/sin.txt:12 ../E/sqrt.txt:12 ../E/tan.txt:12
-#, no-wrap
-msgid "Programming, types and expressions."
-msgstr ""
-
#. type: \b; header
#: ../E/acos.txt:1
#, no-wrap
@@ -5948,6 +5964,54 @@ msgstr ""
msgid "Number between -1 and 1 (including both)."
msgstr ""
+#. type: Plain text
+#: ../E/acos.txt:9
+#, no-wrap
+msgid "Arcus cosine (in degrees) of the value."
+msgstr ""
+
+#. type: Plain text
+#: ../E/acos.txt:12 ../E/asin.txt:12 ../E/atan.txt:12 ../E/atan2.txt:17 ../E/cos.txt:12 ../E/pow.txt:15 ../E/rand.txt:9 ../E/sin.txt:12 ../E/sqrt.txt:12 ../E/tan.txt:12
+#, no-wrap
+msgid "Programming, types and expressions."
+msgstr ""
+
+#. type: Source code
+#: ../E/aim.txt:3
+#, no-wrap
+msgid "aim ( y, x );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/aim.txt:5
+#, no-wrap
+msgid "This instruction sets the vertical and the horizontal angle of the cannon. The following robots are equipped with a cannon: "
+msgstr ""
+
+#. type: Plain text
+#: ../E/aim.txt:10
+#, no-wrap
+msgid "When controlling the robot through programming, the gun can be also turned left or right by turning the whole robot with the instruction turn."
+msgstr ""
+
+#. type: \t; header
+#: ../E/aim.txt:12 ../E/atan2.txt:7 ../E/pow.txt:8
+#, no-wrap
+msgid "y: float"
+msgstr ""
+
+#. type: \t; header
+#: ../E/aim.txt:15
+#, no-wrap
+msgid "x: float (default value: 0)"
+msgstr ""
+
+#. type: Plain text
+#: ../E/aim.txt:16
+#, no-wrap
+msgid "Angle in degrees of the gun relative to the robot. A positive value orients the gun to the right. The angle must range from -40 to +40 degrees for all shooters."
+msgstr ""
+
#. type: \b; header
#: ../E/asin.txt:1
#, no-wrap
@@ -5960,6 +6024,12 @@ msgstr ""
msgid "asin ( value );"
msgstr ""
+#. type: Plain text
+#: ../E/asin.txt:9
+#, no-wrap
+msgid "Arcus sine (in degrees) of the value."
+msgstr ""
+
#. type: \b; header
#: ../E/atan.txt:1
#, no-wrap
@@ -5978,6 +6048,451 @@ msgstr ""
msgid "Number."
msgstr ""
+#. type: Plain text
+#: ../E/atan.txt:9
+#, no-wrap
+msgid "Arcus tangent (in degrees) of the value."
+msgstr ""
+
+#. type: \b; header
+#: ../E/atan2.txt:1
+#, no-wrap
+msgid "Instruction atan2"
+msgstr ""
+
+#. type: Source code
+#: ../E/atan2.txt:3
+#, no-wrap
+msgid "atan2 ( y, x );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/atan2.txt:5
+#, no-wrap
+msgid "The purpose of using two arguments instead of one is to gather information on the signs of the inputs in order to return the appropriate quadrant of the computed angle, which is not possible for the single-argument atan(); function. For example, consider a point (-1, -1): atan(-1/-1); is 45.00 degrees, whereas atan2(-1, -1); is -135.00 degrees, which is obviously more correct in this case."
+msgstr ""
+
+#. type: \t; header
+#: ../E/atan2.txt:10 ../E/pow.txt:5
+#, no-wrap
+msgid "x: float"
+msgstr ""
+
+#. type: Plain text
+#: ../E/atan2.txt:14
+#, no-wrap
+msgid "Arcus tangent (in degrees) of y/x."
+msgstr ""
+
+#. type: \b; header
+#: ../E/build.txt:1
+#, no-wrap
+msgid "Instruction build"
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:2
+#, no-wrap
+msgid "The instruction build(); instructs the bot to build a building of the given category. Currently works for Grabbers, Me and Tech."
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:5
+#, no-wrap
+msgid "This command is mostly useful in an attempt to build a fully automatised base, where an astronaut does not need to do anything except starting a program and watching bots working. What is more, it makes beating the game by using only programming a possible task (however, it is a challenge rather for experienced gamers, who beat the whole game at least once)."
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:7
+#, no-wrap
+msgid "Here is an example of a program that looks for the nearest titanium cube, goes to the position and builds a bot factory."
+msgstr ""
+
+#. type: Source code
+#: ../E/build.txt:9
+#, no-wrap
+msgid ""
+" object item = radar(Titanium);\n"
+" goto(item.position);\n"
+" build(BotFactory);"
+msgstr ""
+
+#. type: Source code
+#: ../E/build.txt:15
+#, no-wrap
+msgid "build ( cat );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:17
+#, no-wrap
+msgid "Tells the robot to build a building using a titanium cube placed on a flat ground nearby."
+msgstr ""
+
+#. type: \t; header
+#: ../E/build.txt:19 ../E/buildingenabled.txt:16 ../E/canbuild.txt:16 ../E/detect.txt:11 ../E/factory.txt:10 ../E/radar.txt:22
+#, no-wrap
+msgid "cat: int"
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:20 ../E/buildingenabled.txt:17 ../E/canbuild.txt:17
+#, no-wrap
+msgid "Category of a building."
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:23
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by build().\n"
+"== 0 Successfully built\n"
+"!= 0 Impossible to build (for example, the nearest titanium cube is too far away or the specified building is not available in the mission)"
+msgstr ""
+
+#. type: Plain text
+#: ../E/build.txt:28
+#, no-wrap
+msgid "canbuild, buildingenabled, programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: ../E/buildingenabled.txt:1
+#, no-wrap
+msgid "Instruction buildingenabled"
+msgstr ""
+
+#. type: Plain text
+#: ../E/buildingenabled.txt:2
+#, no-wrap
+msgid "The instruction buildingenabled(); lets you know if a building of the given category can be built in the level."
+msgstr ""
+
+#. type: Plain text
+#: ../E/buildingenabled.txt:5
+#, no-wrap
+msgid "It is similar to the canbuild(); instruction. However, it does not check if a required research has been done."
+msgstr ""
+
+#. type: Source code
+#: ../E/buildingenabled.txt:7
+#, no-wrap
+msgid ""
+" if (buildingenabled(BotFactory))\n"
+" {\n"
+" \tbuild(BotFactory);\n"
+" }"
+msgstr ""
+
+#. type: Source code
+#: ../E/buildingenabled.txt:14
+#, no-wrap
+msgid "buildingenabled ( cat );"
+msgstr ""
+
+#. type: \t; header
+#: ../E/buildingenabled.txt:19 ../E/busy.txt:10 ../E/canbuild.txt:19 ../E/canresearch.txt:10 ../E/detect.txt:23 ../E/researched.txt:10
+#, no-wrap
+msgid "Return value: bool"
+msgstr ""
+
+#. type: Plain text
+#: ../E/buildingenabled.txt:20
+#, no-wrap
+msgid "true if the building can be built in the level even if required research has not been done, false otherwise."
+msgstr ""
+
+#. type: Plain text
+#: ../E/buildingenabled.txt:23
+#, no-wrap
+msgid "build, canbuild, ResearchCenter, programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: ../E/busy.txt:1
+#, no-wrap
+msgid "Instruction busy"
+msgstr ""
+
+#. type: Source code
+#: ../E/busy.txt:3
+#, no-wrap
+msgid "object.busy ( );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/busy.txt:5
+#, no-wrap
+msgid "Checks if the object is busy."
+msgstr ""
+
+#. type: \t; header
+#: ../E/busy.txt:7 ../E/destroy.txt:7 ../E/factory.txt:7 ../E/research.txt:7 ../E/takeoff.txt:7
+#, no-wrap
+msgid "object"
+msgstr ""
+
+#. type: Plain text
+#: ../E/busy.txt:8
+#, no-wrap
+msgid "Any building which can take some action (e.g. Converter)."
+msgstr ""
+
+#. type: Plain text
+#: ../E/busy.txt:11
+#, no-wrap
+msgid ""
+"true if the object is doing something (e.g. converting)\n"
+"false if the object is not doing anything"
+msgstr ""
+
+#. type: \b; header
+#: ../E/canbuild.txt:1
+#, no-wrap
+msgid "Instruction canbuild"
+msgstr ""
+
+#. type: Plain text
+#: ../E/canbuild.txt:2
+#, no-wrap
+msgid "The instruction canbuild(); lets you know if Grabbers, Me or Tech can build a building of the given category. "
+msgstr ""
+
+#. type: Plain text
+#: ../E/canbuild.txt:5
+#, no-wrap
+msgid "It helps to prevent errors in programs using the build(); instruction. Here is an example:"
+msgstr ""
+
+#. type: Source code
+#: ../E/canbuild.txt:7
+#, no-wrap
+msgid ""
+" if (canbuild(BotFactory))\n"
+" {\n"
+" \tbuild(BotFactory);\n"
+" }"
+msgstr ""
+
+#. type: Source code
+#: ../E/canbuild.txt:14
+#, no-wrap
+msgid "canbuild ( cat );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/canbuild.txt:20
+#, no-wrap
+msgid "true if the building can be built, false otherwise."
+msgstr ""
+
+#. type: Plain text
+#: ../E/canbuild.txt:23
+#, no-wrap
+msgid "build, buildingenabled, programming, types and categories."
+msgstr ""
+
+#. type: \b; header
+#: ../E/canresearch.txt:1
+#, no-wrap
+msgid "Instruction canresearch"
+msgstr ""
+
+#. type: Source code
+#: ../E/canresearch.txt:3
+#, no-wrap
+msgid "canresearch ( research );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/canresearch.txt:5
+#, no-wrap
+msgid "Checks if the research can be done in the level."
+msgstr ""
+
+#. type: \t; header
+#: ../E/canresearch.txt:7 ../E/researched.txt:7
+#, no-wrap
+msgid "research: int"
+msgstr ""
+
+#. type: Plain text
+#: ../E/canresearch.txt:8 ../E/research.txt:11 ../E/researched.txt:8
+#, no-wrap
+msgid "Research name."
+msgstr ""
+
+#. type: Plain text
+#: ../E/canresearch.txt:11
+#, no-wrap
+msgid ""
+"true if the research can be done (even if it is already done, to check that, use the researched instruction)\n"
+"false if the research cannot be done"
+msgstr ""
+
+#. type: Plain text
+#: ../E/canresearch.txt:15
+#, no-wrap
+msgid "Research names, research, researched, programming, types and categories."
+msgstr ""
+
+#. type: Plain text
+#: ../E/category.txt:6
+#, no-wrap
+msgid "Below are the different categories available:"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:8
+#, no-wrap
+msgid "Buildings:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/category.txt:10
+#, no-wrap
+msgid ""
+" HoustonMission Control\n"
+" SpaceShipSpaceship\n"
+" BotFactoryRobot Factory\n"
+" ResearchCenterResearch Center\n"
+" RadarStationRadar\n"
+" ExchangePostInformation Exchange Post\n"
+" RepairCenterRepair Center\n"
+" DefenseTowerDefense Tower\n"
+" AutoLabOrganic Matter Analyzer \n"
+" PowerStationPower Station\n"
+" PowerPlantPower Cell Factory\n"
+" NuclearPlantNuclear Plant\n"
+" ConverterTitanium Converter\n"
+" DerrickDerrick\n"
+" PowerCaptorParabolic Lightning Conductor\n"
+" VaultVault\n"
+" StartAreaStarting Pad\n"
+" GoalAreaFinishing Pad\n"
+" AlienNestAlien Nest"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:31
+#, no-wrap
+msgid "Portable Objects:"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:44
+#, no-wrap
+msgid "Robots:"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:76
+#, no-wrap
+msgid "Enemies:"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:86
+#, no-wrap
+msgid "Miscellaneous:"
+msgstr ""
+
+#. type: \t; header
+#: ../E/category.txt:95
+#, no-wrap
+msgid "Flags and Other Indicators:"
+msgstr ""
+
+#. type: \b; header
+#: ../E/ceil.txt:1
+#, no-wrap
+msgid "Instruction ceil"
+msgstr ""
+
+#. type: Source code
+#: ../E/ceil.txt:3
+#, no-wrap
+msgid "ceil ( value );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/ceil.txt:4
+#, no-wrap
+msgid "Rounds up a number."
+msgstr ""
+
+#. type: Plain text
+#: ../E/ceil.txt:10
+#, no-wrap
+msgid "Ceiling of the value, i.e. the smallest integer not less than value. For example, ceil(2.1) is 3.0."
+msgstr ""
+
+#. type: Plain text
+#: ../E/ceil.txt:13 ../E/floor.txt:13 ../E/trunc.txt:13
+#, no-wrap
+msgid "round, programming, types and expressions."
+msgstr ""
+
+#. type: \b; header
+#: ../E/colors.txt:1
+#, no-wrap
+msgid "Value Colors"
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:2
+#, no-wrap
+msgid "Color names are used to define a specific color to use. They can be passed to functions like pendown or pencolor."
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:4
+#, no-wrap
+msgid "In a program, colors are always displayed on a red background. If a color isn't highlighted in red, it is misspelled. Caps and lower cases should be kept as is."
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:6
+#, no-wrap
+msgid "Below are the different colors available:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:8
+#, no-wrap
+msgid ""
+"White\n"
+"Black\n"
+"Gray\n"
+"LightGray\n"
+"Red\n"
+"Pink\n"
+"Purple\n"
+"Orange\n"
+"Yellow\n"
+"Beige\n"
+"Brown\n"
+"Skin\n"
+"Green\n"
+"LightGreen\n"
+"Blue\n"
+"LightBlue"
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:25
+#, no-wrap
+msgid "You can also draw colored symbols:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/colors.txt:27
+#, no-wrap
+msgid ""
+"BlackArrow\n"
+"RedArrow"
+msgstr ""
+
#. type: \b; header
#: ../E/cos.txt:1
#, no-wrap
@@ -6003,287 +6518,191 @@ msgid "Cosine of the angle."
msgstr ""
#. type: \b; header
-#: ../E/pow.txt:1
+#: ../E/destroy.txt:1
#, no-wrap
-msgid "Instruction pow"
+msgid "Instruction destroy"
msgstr ""
#. type: Source code
-#: ../E/pow.txt:3
+#: ../E/destroy.txt:3
#, no-wrap
-msgid "pow ( x, y );"
+msgid "object.destroy ( );"
msgstr ""
#. type: Plain text
-#: ../E/pow.txt:6
+#: ../E/destroy.txt:5
#, no-wrap
-msgid "Base."
+msgid "Destroys an object."
msgstr ""
#. type: Plain text
-#: ../E/pow.txt:9
+#: ../E/destroy.txt:8
#, no-wrap
-msgid "Exponent."
+msgid "Destroyer."
msgstr ""
#. type: Plain text
-#: ../E/pow.txt:12
+#: ../E/destroy.txt:11
#, no-wrap
-msgid "x to the y (x raised to the yth power)."
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by destroy().\n"
+"== 0 The operation of destroying of an object was started\n"
+"!= 0 The instruction could not be done (e.g. nothing to destroy)"
msgstr ""
#. type: \b; header
-#: ../E/sin.txt:1
+#: ../E/detect.txt:1
#, no-wrap
-msgid "Instruction sin"
-msgstr ""
-
-#. type: Source code
-#: ../E/sin.txt:3
-#, no-wrap
-msgid "sin ( angle );"
+msgid "Instruction detect"
msgstr ""
#. type: Plain text
-#: ../E/sin.txt:9
+#: ../E/detect.txt:2
#, no-wrap
-msgid "Sine of the angle."
+msgid "With the instruction detect();, you can look for objects like enemies, bots, buildings or raw materials, which are in front of the bot. It is a simpler version of radar();."
+msgstr ""
+
+#. type: Source code
+#: ../E/detect.txt:6
+#, no-wrap
+msgid "detect ( cat );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/detect.txt:8
+#, no-wrap
+msgid "Detects the nearest object of the specified category being in front of the bot. It is similar to the following instruction:"
+msgstr ""
+
+#. type: Source code
+#: ../E/detect.txt:9
+#, no-wrap
+msgid "radar(cat, 0, 45, 0, 20);"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: ../E/detect.txt:12 ../E/radar.txt:23
+#, no-wrap
+msgid "Category of the objects that should be detected. For example, when you are looking for an ant, write radar(AlienAnt). "
+msgstr ""
+
+#. type: Bullet: 'o'
+#: ../E/detect.txt:13
+#, no-wrap
+msgid "Array of categories of the objects that should be detected. For example, when you are looking only for grabbers:"
+msgstr ""
+
+#. type: Source code
+#: ../E/detect.txt:14
+#, no-wrap
+msgid ""
+"int bots[4];\n"
+"bots[0] = WheeledGrabber;\n"
+"bots[1] = TrackedGrabber;\n"
+"bots[2] = WingedGrabber;\n"
+"bots[3] = LeggedGrabber;\n"
+"object nearestGrabber = radar(bots);"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: ../E/detect.txt:21 ../E/search.txt:17
+#, no-wrap
+msgid "Keyword Any if you are looking for any object (including even plants and so on)."
+msgstr ""
+
+#. type: Plain text
+#: ../E/detect.txt:24
+#, no-wrap
+msgid ""
+"true if the object was found\n"
+"false if the object was not found"
msgstr ""
#. type: \b; header
-#: ../E/sqrt.txt:1
+#: ../E/factory.txt:1
#, no-wrap
-msgid "Instruction sqrt"
+msgid "Instruction factory"
msgstr ""
#. type: Source code
-#: ../E/sqrt.txt:3
+#: ../E/factory.txt:3
#, no-wrap
-msgid "sqrt ( value );"
+msgid "object.factory ( cat, program );"
msgstr ""
#. type: Plain text
-#: ../E/sqrt.txt:6
+#: ../E/factory.txt:5
#, no-wrap
-msgid "Non-negative number."
+msgid "Starts a construction of a bot of the given category and runs the specified program on it after the construction is finished."
msgstr ""
#. type: Plain text
-#: ../E/sqrt.txt:9
+#: ../E/factory.txt:8
#, no-wrap
-msgid "Square root of the value."
-msgstr ""
-
-#. type: \b; header
-#: ../E/tan.txt:1
-#, no-wrap
-msgid "Instruction tan"
-msgstr ""
-
-#. type: Source code
-#: ../E/tan.txt:3
-#, no-wrap
-msgid "tan ( angle );"
+msgid "BotFactory"
msgstr ""
#. type: Plain text
-#: ../E/tan.txt:9
+#: ../E/factory.txt:11
#, no-wrap
-msgid "Tangent of the angle."
-msgstr ""
-
-#. type: Plain text
-#: ../E/acos.txt:9
-#, no-wrap
-msgid "Arcus cosine (in degrees) of the value."
-msgstr ""
-
-#. type: Plain text
-#: ../E/asin.txt:9
-#, no-wrap
-msgid "Arcus sine (in degrees) of the value."
-msgstr ""
-
-#. type: Plain text
-#: ../E/atan.txt:9
-#, no-wrap
-msgid "Arcus tangent (in degrees) of the value."
-msgstr ""
-
-#. type: Plain text
-#: ../E/tan.txt:6
-#, no-wrap
-msgid "Angle in degrees (except multiples of 90)."
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:28
-#, no-wrap
-msgid "canbuild, buildingenabled, programming, types and categories."
-msgstr ""
-
-#. type: \b; header
-#: ../E/canbuild.txt:1
-#, no-wrap
-msgid "Instruction canbuild"
-msgstr ""
-
-#. type: Source code
-#: ../E/canbuild.txt:14
-#, no-wrap
-msgid "canbuild ( cat );"
+msgid "Category of the robot to construct."
msgstr ""
#. type: \t; header
-#: ../E/buildingenabled.txt:19 ../E/busy.txt:10 ../E/canbuild.txt:19 ../E/canresearch.txt:10 ../E/detect.txt:23 ../E/researched.txt:10
+#: ../E/factory.txt:13
#, no-wrap
-msgid "Return value: bool"
+msgid "program: string (default value: \"\")"
msgstr ""
#. type: Plain text
-#: ../E/canbuild.txt:20
+#: ../E/factory.txt:14
#, no-wrap
-msgid "true if the building can be built, false otherwise."
+msgid "Program that will be run on the bot after factory finishes the construction. This can be either a publicfunction, a filename or just a raw source code."
msgstr ""
#. type: Plain text
-#: ../E/canbuild.txt:23
-#, no-wrap
-msgid "build, buildingenabled, programming, types and categories."
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:20 ../E/buildingenabled.txt:17 ../E/canbuild.txt:17
-#, no-wrap
-msgid "Category of a building."
-msgstr ""
-
-#. type: \b; header
-#: ../E/buildingenabled.txt:1
-#, no-wrap
-msgid "Instruction buildingenabled"
-msgstr ""
-
-#. type: Plain text
-#: ../E/buildingenabled.txt:2
-#, no-wrap
-msgid "The instruction buildingenabled(); lets you know if a building of the given category can be built in the level."
-msgstr ""
-
-#. type: Source code
-#: ../E/buildingenabled.txt:7
+#: ../E/factory.txt:17
#, no-wrap
msgid ""
-" if (buildingenabled(BotFactory))\n"
-" {\n"
-" \tbuild(BotFactory);\n"
-" }"
-msgstr ""
-
-#. type: Source code
-#: ../E/buildingenabled.txt:14
-#, no-wrap
-msgid "buildingenabled ( cat );"
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by factory().\n"
+"== 0 The construction successfully started\n"
+"!= 0 The construction could not be started (e.g. no Titanium in the factory, the bot is not researched)"
msgstr ""
#. type: Plain text
-#: ../E/buildingenabled.txt:20
+#: ../E/factory.txt:22
#, no-wrap
-msgid "true if the building can be built in the level even if required research has not been done, false otherwise."
-msgstr ""
-
-#. type: Plain text
-#: ../E/buildingenabled.txt:23
-#, no-wrap
-msgid "build, canbuild, ResearchCenter, programming, types and categories."
-msgstr ""
-
-#. type: Source code
-#: ../E/canbuild.txt:7
-#, no-wrap
-msgid ""
-" if (canbuild(BotFactory))\n"
-" {\n"
-" \tbuild(BotFactory);\n"
-" }"
-msgstr ""
-
-#. type: Plain text
-#: ../E/build.txt:2
-#, no-wrap
-msgid "The instruction build(); instructs the bot to build a building of the given category. Currently works for Grabbers, Me and Tech."
-msgstr ""
-
-#. type: Plain text
-#: ../E/buildingenabled.txt:5
-#, no-wrap
-msgid "It is similar to the canbuild(); instruction. However, it does not check if a required research has been done."
-msgstr ""
-
-#. type: Plain text
-#: ../E/canbuild.txt:2
-#, no-wrap
-msgid "The instruction canbuild(); lets you know if Grabbers, Me or Tech can build a building of the given category. "
-msgstr ""
-
-#. type: Plain text
-#: ../E/canbuild.txt:5
-#, no-wrap
-msgid "It helps to prevent errors in programs using the build(); instruction. Here is an example:"
+msgid "researched, wait, programming, types and categories."
msgstr ""
#. type: \b; header
-#: ../E/atan2.txt:1
+#: ../E/flatspace.txt:1
#, no-wrap
-msgid "Instruction atan2"
+msgid "Instruction flatspace"
msgstr ""
#. type: Source code
-#: ../E/atan2.txt:3
+#: ../E/flatspace.txt:3
#, no-wrap
-msgid "atan2 ( y, x );"
+msgid "flatspace ( center, flatmin, rmin, rmax, dist );"
msgstr ""
#. type: Plain text
-#: ../E/atan2.txt:14
+#: ../E/flatspace.txt:5
#, no-wrap
-msgid "Arcus tangent (in degrees) of y/x."
+msgid "Determines the position of the nearest free space with at least flatmin of flat ground around a given position. Works similar to space();. Useful for finding a place for a building."
+msgstr ""
+
+#. type: \t; header
+#: ../E/flatspace.txt:10
+#, no-wrap
+msgid "flatmin: float"
msgstr ""
#. type: Plain text
-#: ../E/atan2.txt:5
+#: ../E/flatspace.txt:11
#, no-wrap
-msgid "The purpose of using two arguments instead of one is to gather information on the signs of the inputs in order to return the appropriate quadrant of the computed angle, which is not possible for the single-argument atan(); function. For example, consider a point (-1, -1): atan(-1/-1); is 45.00 degrees, whereas atan2(-1, -1); is -135.00 degrees, which is obviously more correct in this case."
-msgstr ""
-
-#. type: \b; header
-#: ../E/ceil.txt:1
-#, no-wrap
-msgid "Instruction ceil"
-msgstr ""
-
-#. type: Source code
-#: ../E/ceil.txt:3
-#, no-wrap
-msgid "ceil ( value );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/floor.txt:4
-#, no-wrap
-msgid "Rounds down a number."
-msgstr ""
-
-#. type: Plain text
-#: ../E/ceil.txt:10
-#, no-wrap
-msgid "Ceiling of the value, i.e. the smallest integer not less than value. For example, ceil(2.1) is 3.0."
-msgstr ""
-
-#. type: Plain text
-#: ../E/ceil.txt:13 ../E/floor.txt:13 ../E/trunc.txt:13
-#, no-wrap
-msgid "round, programming, types and expressions."
+msgid "Minimum radius of flat ground around the desired position."
msgstr ""
#. type: \b; header
@@ -6299,9 +6718,9 @@ msgid "floor ( value );"
msgstr ""
#. type: Plain text
-#: ../E/ceil.txt:4
+#: ../E/floor.txt:4
#, no-wrap
-msgid "Rounds up a number."
+msgid "Rounds down a number."
msgstr ""
#. type: Plain text
@@ -6310,70 +6729,12 @@ msgstr ""
msgid "Floor of the value, i.e. the largest integer not greater than value. For example, floor(2.9) is 2.00."
msgstr ""
-#. type: \b; header
-#: ../E/round.txt:1
-#, no-wrap
-msgid "Instruction round"
-msgstr ""
-
-#. type: Source code
-#: ../E/round.txt:3
-#, no-wrap
-msgid "round ( value );"
-msgstr ""
-
#. type: Plain text
-#: ../E/round.txt:4
+#: ../E/for.txt:19
#, no-wrap
-msgid "Rounds a number."
-msgstr ""
-
-#. type: Plain text
-#: ../E/round.txt:10
-#, no-wrap
-msgid "Rounded value. For example, round(2.5) is 3.0, whereas round(2.4) is 2.0."
-msgstr ""
-
-#. type: \b; header
-#: ../E/trunc.txt:1
-#, no-wrap
-msgid "Instruction trunc"
-msgstr ""
-
-#. type: Source code
-#: ../E/trunc.txt:3
-#, no-wrap
-msgid "trunc ( value );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/trunc.txt:10
-#, no-wrap
-msgid "Truncated value. For example, trunc(-2.5) is -2.00."
-msgstr ""
-
-#. type: Plain text
-#: ../E/round.txt:13
-#, no-wrap
-msgid "trunc, floor, ceil, programming, types and expressions."
-msgstr ""
-
-#. type: Plain text
-#: ../E/trunc.txt:4
-#, no-wrap
-msgid "Truncation is a method of approximating a decimal number by dropping all decimal places past a certain point without rounding. For positive numbers, it works like the floor(); function, and for negative numbers, it works like the ceil(); function. It can be said that it rounds towards zero."
-msgstr ""
-
-#. type: Plain text
-#: ../E/aim.txt:16
-#, no-wrap
-msgid "Angle in degrees of the gun relative to the robot. A positive value orients the gun to the right. The angle must range from -40 to +40 degrees for all shooters."
-msgstr ""
-
-#. type: \t; header
-#: ../E/aim.txt:15
-#, no-wrap
-msgid "x: float (default value: 0)"
+msgid ""
+"Example: count from 1 to 4\n"
+"for ( i = 1 ; i <= 4 ; i++ )"
msgstr ""
#. type: Plain text
@@ -6406,6 +6767,12 @@ msgid ""
"}"
msgstr ""
+#. type: Plain text
+#: ../E/function.txt:14
+#, no-wrap
+msgid "Nothing but a name can be changed in the main function. The keyword extern distinguish the main function from others."
+msgstr ""
+
#. type: Plain text
#: ../E/function.txt:17
#, no-wrap
@@ -6454,12 +6821,34 @@ msgid ""
"}"
msgstr ""
+#. type: Plain text
+#: ../E/function.txt:47
+#, no-wrap
+msgid "Now the program is much easier to read. It is a good practice to split the program into several functions with self-describing names."
+msgstr ""
+
#. type: \b; header
#: ../E/function.txt:49
#, no-wrap
msgid "Syntax"
msgstr ""
+#. type: Source code
+#: ../E/function.txt:51
+#, no-wrap
+msgid ""
+"result_type FunctionName(optional_parameters)\n"
+"{\n"
+"\tbody\n"
+"}"
+msgstr ""
+
+#. type: Plain text
+#: ../E/function.txt:56
+#, no-wrap
+msgid "Result type should be void if the function does not give any. Body is just a set of instructions. Function name must be created with the exact same rules applied to variables."
+msgstr ""
+
#. type: \t; header
#: ../E/function.txt:58
#, no-wrap
@@ -6472,6 +6861,18 @@ msgstr ""
msgid "A function can have parameters:"
msgstr ""
+#. type: Source code
+#: ../E/function.txt:61
+#, no-wrap
+msgid ""
+"void Example(int a, float x, string s)\n"
+"{\n"
+"\tmessage(a);\n"
+"\tmessage(x);\n"
+"\tmessage(s);\n"
+"}"
+msgstr ""
+
#. type: Plain text
#: ../E/function.txt:68
#, no-wrap
@@ -6587,34 +6988,6 @@ msgstr ""
msgid "Declaring a function as a part of the object namespace gives it access to thispointer, in other words, to all available properties of the robot which the program is run on."
msgstr ""
-#. type: Plain text
-#: ../E/function.txt:47
-#, no-wrap
-msgid "Now the program is much easier to read. It is a good practice to split the program into several functions with self-describing names."
-msgstr ""
-
-#. type: Source code
-#: ../E/function.txt:51
-#, no-wrap
-msgid ""
-"result_type FunctionName(optional_parameters)\n"
-"{\n"
-"\tbody\n"
-"}"
-msgstr ""
-
-#. type: Source code
-#: ../E/function.txt:61
-#, no-wrap
-msgid ""
-"void Example(int a, float x, string s)\n"
-"{\n"
-"\tmessage(a);\n"
-"\tmessage(x);\n"
-"\tmessage(s);\n"
-"}"
-msgstr ""
-
#. type: Source code
#: ../E/function.txt:123
#, no-wrap
@@ -6626,78 +6999,352 @@ msgid ""
msgstr ""
#. type: Plain text
-#: ../E/function.txt:56
+#: ../E/object.txt:2
#, no-wrap
-msgid "Result type should be void if the function does not give any. Body is just a set of instructions. Function name must be created with the exact same rules applied to variables."
+msgid "Use this type for variables that contain the characteristics of an object, be it a bot, a building, some raw material, an enemy, etc. Here are all properties of an object: "
msgstr ""
-#. type: \b; header
-#: ../E/factory.txt:1
+#. type: Plain text
+#: ../E/object.txt:4
#, no-wrap
-msgid "Instruction factory"
+msgid ""
+"int object.category Category of the object\n"
+"point object.position Position of the object (x,y,z)\n"
+"float object.orientation Orientation of the object (0..360)\n"
+"float object.pitch Forward/backward angle of the object\n"
+"float object.roll Right/left angle of the object \n"
+"float object.energyLevel Energy level (0..1)\n"
+"float object.shieldLevel Shield level (0..1)\n"
+"float object.temperature Jet temperature (0..1)\n"
+"float object.altitude Altitude above ground\n"
+"float object.lifeTime Lifetime of the object\n"
+"object object.energyCell Power cell on the bot\n"
+"object object.load Object carried by the bot\n"
+"int object.team The object's team (see code battles)\n"
+"point object.velocity Velocity of the object"
+msgstr ""
+
+#. type: Plain text
+#: ../E/object.txt:19
+#, no-wrap
+msgid "Also, some objects have additional methods (instructions). See them in the main list in the \"Instructions specific for some objects\" section."
+msgstr ""
+
+#. type: Plain text
+#: ../E/object.txt:22
+#, no-wrap
+msgid "The category of an object allows you to know what it is, f. ex. what kind of bot, building, enemy, etc."
msgstr ""
#. type: Source code
-#: ../E/factory.txt:3
+#: ../E/object.txt:60
#, no-wrap
-msgid "object.factory ( cat, program );"
+msgid "team"
msgstr ""
#. type: Plain text
-#: ../E/factory.txt:5
+#: ../E/object.txt:61
#, no-wrap
-msgid "Starts a construction of a bot of the given category and runs the specified program on it after the construction is finished."
+msgid "The bot's team. Used in code battles. If the object has no team assigned (e.g. in no team-based levels, the object being a resource), this is equal to 0."
+msgstr ""
+
+#. type: Source code
+#: ../E/object.txt:63
+#, no-wrap
+msgid "velocity"
+msgstr ""
+
+#. type: Plain text
+#: ../E/object.txt:64
+#, no-wrap
+msgid "Current velocity of the object. Should be treated as a three-dimensional vector."
+msgstr ""
+
+#. type: \b; header
+#: ../E/pencolor.txt:1
+#, no-wrap
+msgid "Instruction pencolor"
+msgstr ""
+
+#. type: Source code
+#: ../E/pencolor.txt:3
+#, no-wrap
+msgid "pencolor ( color );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/pencolor.txt:4
+#, no-wrap
+msgid "The instruction pencolor(); instructs the bot to change the color of the pencil."
msgstr ""
#. type: \t; header
-#: ../E/busy.txt:7 ../E/destroy.txt:7 ../E/factory.txt:7 ../E/research.txt:7 ../E/takeoff.txt:7
+#: ../E/pencolor.txt:6 ../E/pendown.txt:6
#, no-wrap
-msgid "object"
+msgid "color: int (default value: Black)"
msgstr ""
#. type: Plain text
-#: ../E/factory.txt:8
+#: ../E/pencolor.txt:7 ../E/pendown.txt:7
#, no-wrap
-msgid "BotFactory"
+msgid "Color name."
msgstr ""
#. type: Plain text
-#: ../E/factory.txt:11
-#, no-wrap
-msgid "Category of the robot to construct."
-msgstr ""
-
-#. type: \t; header
-#: ../E/factory.txt:13
-#, no-wrap
-msgid "program: string (default value: \"\")"
-msgstr ""
-
-#. type: Plain text
-#: ../E/factory.txt:14
-#, no-wrap
-msgid "Program that will be run on the bot after factory finishes the construction. This can be either a publicfunction, a filename or just a raw source code."
-msgstr ""
-
-#. type: Plain text
-#: ../E/category.txt:6
-#, no-wrap
-msgid "Below are the different categories available:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/factory.txt:17
+#: ../E/pencolor.txt:10
#, no-wrap
msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by factory().\n"
-"== 0 The construction successfully started\n"
-"!= 0 The construction could not be started (e.g. no Titanium in the factory, the bot is not researched)"
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by pencolor();.\n"
+"== 0 The color was changed\n"
+"!= 0 The instruction did not work"
+msgstr ""
+
+#. type: \b; header
+#: ../E/pendown.txt:1
+#, no-wrap
+msgid "Instruction pendown"
+msgstr ""
+
+#. type: Source code
+#: ../E/pendown.txt:3
+#, no-wrap
+msgid "pendown ( color, width );"
msgstr ""
#. type: Plain text
-#: ../E/factory.txt:22
+#: ../E/pendown.txt:4
#, no-wrap
-msgid "researched, wait, programming, types and categories."
+msgid "The instruction pendown(); instructs the bot to have the pen down, so it starts drawing."
+msgstr ""
+
+#. type: \t; header
+#: ../E/pendown.txt:9
+#, no-wrap
+msgid "width: float (default value: 0.5)"
+msgstr ""
+
+#. type: Plain text
+#: ../E/pendown.txt:10 ../E/penwidth.txt:7
+#, no-wrap
+msgid "Width of the pen. The width cannot be higher than 1.0 and cannot be lower than 0.0. Passing a higher value will result in the width being the highest possible and passing a lower value will result in the width being the lowest possible."
+msgstr ""
+
+#. type: Plain text
+#: ../E/pendown.txt:13
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by pendown();.\n"
+"== 0 The pen is now down\n"
+"!= 0 The instruction did not work"
+msgstr ""
+
+#. type: \b; header
+#: ../E/penup.txt:1
+#, no-wrap
+msgid "Instruction penup"
+msgstr ""
+
+#. type: Source code
+#: ../E/penup.txt:3
+#, no-wrap
+msgid "penup ( );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/penup.txt:4
+#, no-wrap
+msgid "The instruction penup(); instructs the bot to have the pen up, so it stops drawing. The pen is up by default, so it should be used only after using pendown."
+msgstr ""
+
+#. type: Plain text
+#: ../E/penup.txt:7
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by penup();.\n"
+"== 0 The pen is now up\n"
+"!= 0 The instruction did not work"
+msgstr ""
+
+#. type: \b; header
+#: ../E/penwidth.txt:1
+#, no-wrap
+msgid "Instruction penwidth"
+msgstr ""
+
+#. type: Source code
+#: ../E/penwidth.txt:3
+#, no-wrap
+msgid "penwidth ( color );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/penwidth.txt:4
+#, no-wrap
+msgid "The instruction penwidth(); instructs the bot to change the width of the pencil."
+msgstr ""
+
+#. type: \t; header
+#: ../E/penwidth.txt:6
+#, no-wrap
+msgid "width: float"
+msgstr ""
+
+#. type: Plain text
+#: ../E/penwidth.txt:10
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by penwidth();.\n"
+"== 0 The width was changed\n"
+"!= 0 The instruction did not work"
+msgstr ""
+
+#. type: \b; header
+#: ../E/pow.txt:1
+#, no-wrap
+msgid "Instruction pow"
+msgstr ""
+
+#. type: Source code
+#: ../E/pow.txt:3
+#, no-wrap
+msgid "pow ( x, y );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/pow.txt:6
+#, no-wrap
+msgid "Base."
+msgstr ""
+
+#. type: Plain text
+#: ../E/pow.txt:9
+#, no-wrap
+msgid "Exponent."
+msgstr ""
+
+#. type: Plain text
+#: ../E/pow.txt:12
+#, no-wrap
+msgid "x to the y (x raised to the yth power)."
+msgstr ""
+
+#. type: Source code
+#: ../E/radar.txt:15
+#, no-wrap
+msgid "radar ( cat, angle, focus, min, max, sens, filter );"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: ../E/radar.txt:24
+#, no-wrap
+msgid "Array of categories of the objects that should be detected. For example, when you are looking only for grabbers:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:25 ../E/search.txt:10
+#, no-wrap
+msgid "int bots[4];"
+msgstr ""
+
+#. type: Source code
+#: ../E/radar.txt:26
+#, no-wrap
+msgid ""
+"bots[0] = WheeledGrabber;\n"
+"bots[1] = TrackedGrabber;\n"
+"bots[2] = WingedGrabber;\n"
+"bots[3] = LeggedGrabber;\n"
+"object nearestGrabber = radar(bots);"
+msgstr ""
+
+#. type: Bullet: 'o'
+#: ../E/radar.txt:31
+#, no-wrap
+msgid "Keyword Any if you are looking for any object (including even plants and so on). Filters may be useful to use with this keyword."
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:33
+#, no-wrap
+msgid "angle: float (default value: 0)"
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:39
+#, no-wrap
+msgid "focus: float (default value: 360)"
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:42
+#, no-wrap
+msgid "min: float (default value: 0)"
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:45
+#, no-wrap
+msgid "max: float (default value: 1000)"
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:48
+#, no-wrap
+msgid "sens: float (default value: 1)"
+msgstr ""
+
+#. type: \t; header
+#: ../E/radar.txt:51
+#, no-wrap
+msgid "filter: int (default value: FilterNone)"
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:52
+#, no-wrap
+msgid "Determines which type of objects should be detected. Especially useful in use with an array or Any. The following filters are available:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:54
+#, no-wrap
+msgid ""
+"FilterNoneDetects everything (default)\n"
+"FilterOnlyLandingDetects only objects being on the ground\n"
+"FilterOnlyFlyingDetects only objects not being on the ground\n"
+"FilterFriendlyDetects only allies (objects in the same team)\n"
+"FilterEnemyDetects only enemies (objects in an other team except neutral)\n"
+"FilterNeutralDetects only neutral objects (e.g. resources)"
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:61
+#, no-wrap
+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. Attention: you should use FilterNeutral instead of 0 or else it will not work."
+msgstr ""
+
+#. type: Plain text
+#: ../E/radar.txt:63
+#, no-wrap
+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/rand.txt:1
+#, no-wrap
+msgid "Instruction rand"
+msgstr ""
+
+#. type: Source code
+#: ../E/rand.txt:3
+#, no-wrap
+msgid "rand ( );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/rand.txt:6
+#, no-wrap
+msgid "Pseudorandom number between 0 and 1 (including 0, but excluding 1)."
msgstr ""
#. type: \b; header
@@ -6712,18 +7359,71 @@ msgstr ""
msgid "object.research ( type );"
msgstr ""
+#. type: Plain text
+#: ../E/research.txt:5
+#, no-wrap
+msgid "Starts a research of the given type."
+msgstr ""
+
+#. type: Plain text
+#: ../E/research.txt:8
+#, no-wrap
+msgid "ResearchCenter or AutoLab."
+msgstr ""
+
#. type: \t; header
#: ../E/research.txt:10
#, no-wrap
msgid "type: int"
msgstr ""
+#. type: Plain text
+#: ../E/research.txt:14
+#, no-wrap
+msgid ""
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by research().\n"
+"== 0 The research successfully started\n"
+"!= 0 The research could not be started (e.g. the research is disabled in the level, no power cell)"
+msgstr ""
+
#. type: Plain text
#: ../E/research.txt:19
#, no-wrap
msgid "Research names, canresearch, researched, programming, types and categories."
msgstr ""
+#. type: \b; header
+#: ../E/researched.txt:1
+#, no-wrap
+msgid "Instruction researched"
+msgstr ""
+
+#. type: Source code
+#: ../E/researched.txt:3
+#, no-wrap
+msgid "researched ( research );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/researched.txt:5
+#, no-wrap
+msgid "Checks if the research was done in the level."
+msgstr ""
+
+#. type: Plain text
+#: ../E/researched.txt:11
+#, no-wrap
+msgid ""
+"true if the research was done\n"
+"false if the research was not done"
+msgstr ""
+
+#. type: Plain text
+#: ../E/researched.txt:15
+#, no-wrap
+msgid "Research names, research, canresearch, canbuildprogramming, types and categories."
+msgstr ""
+
#. type: \b; header
#: ../E/researches.txt:1
#, no-wrap
@@ -6742,167 +7442,6 @@ msgstr ""
msgid "In a program, research names are always displayed on a red background. If a research name is not highlighted in red, it is misspelled. Caps and lower cases should be kept as is."
msgstr ""
-#. type: Plain text
-#: ../E/researches.txt:28
-#, no-wrap
-msgid "CBOT Language, variables and categories."
-msgstr ""
-
-#. type: \b; header
-#: ../E/busy.txt:1
-#, no-wrap
-msgid "Instruction busy"
-msgstr ""
-
-#. type: Source code
-#: ../E/busy.txt:3
-#, no-wrap
-msgid "object.busy ( );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/busy.txt:5
-#, no-wrap
-msgid "Checks if the object is busy."
-msgstr ""
-
-#. type: Plain text
-#: ../E/busy.txt:8
-#, no-wrap
-msgid "Any building which can take some action (e.g. Converter)."
-msgstr ""
-
-#. type: Plain text
-#: ../E/busy.txt:11
-#, no-wrap
-msgid ""
-"true if the object is doing something (e.g. converting)\n"
-"false if the object is not doing anything"
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:2
-#, no-wrap
-msgid "Use this type for variables that contain the characteristics of an object, be it a bot, a building, some raw material, an enemy, etc. Here are all properties of an object: "
-msgstr ""
-
-#. type: \b; header
-#: ../E/takeoff.txt:1
-#, no-wrap
-msgid "Instruction takeoff"
-msgstr ""
-
-#. type: Source code
-#: ../E/takeoff.txt:3
-#, no-wrap
-msgid "object.takeoff ( );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/takeoff.txt:5
-#, no-wrap
-msgid "Takes off the spaceship."
-msgstr ""
-
-#. type: Plain text
-#: ../E/takeoff.txt:8
-#, no-wrap
-msgid "SpaceShip"
-msgstr ""
-
-#. type: Source code
-#: ../E/object.txt:60
-#, no-wrap
-msgid "team"
-msgstr ""
-
-#. type: Source code
-#: ../E/object.txt:63
-#, no-wrap
-msgid "velocity"
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:64
-#, no-wrap
-msgid "Current velocity of the object. Should be treated as a three-dimensional vector."
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:19
-#, no-wrap
-msgid "Also, some objects have additional methods (instructions). See them in the main list in the \"Instructions specific for some objects\" section."
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:22
-#, no-wrap
-msgid "The category of an object allows you to know what it is, f. ex. what kind of bot, building, enemy, etc."
-msgstr ""
-
-#. type: Plain text
-#: ../E/research.txt:8
-#, no-wrap
-msgid "ResearchCenter or AutoLab."
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:8
-#, no-wrap
-msgid "Buildings:"
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:31
-#, no-wrap
-msgid "Portable Objects:"
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:44
-#, no-wrap
-msgid "Robots:"
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:76
-#, no-wrap
-msgid "Enemies:"
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:86
-#, no-wrap
-msgid "Miscellaneous:"
-msgstr ""
-
-#. type: \t; header
-#: ../E/category.txt:95
-#, no-wrap
-msgid "Flags and Other Indicators:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/research.txt:5
-#, no-wrap
-msgid "Starts a research of the given type."
-msgstr ""
-
-#. type: Plain text
-#: ../E/canresearch.txt:8 ../E/research.txt:11 ../E/researched.txt:8
-#, no-wrap
-msgid "Research name."
-msgstr ""
-
-#. type: Plain text
-#: ../E/research.txt:14
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by research().\n"
-"== 0 The research successfully started\n"
-"!= 0 The research could not be started (e.g. the research is disabled in the level, no power cell)"
-msgstr ""
-
#. type: Plain text
#: ../E/researches.txt:6
#, no-wrap
@@ -6959,360 +7498,39 @@ msgid ""
msgstr ""
#. type: Plain text
-#: ../E/takeoff.txt:11
+#: ../E/researches.txt:28
#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by takeoff().\n"
-"== 0 Spaceship takes off\n"
-"!= 0 Spaceship could not take off (e.g. mission is not finished yet)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:61
-#, no-wrap
-msgid "The bot's team. Used in code battles. If the object has no team assigned (e.g. in no team-based levels, the object being a resource), this is equal to 0."
+msgid "CBOT Language, variables and categories."
msgstr ""
#. type: \b; header
-#: ../E/colors.txt:1
+#: ../E/round.txt:1
#, no-wrap
-msgid "Value Colors"
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:2
-#, no-wrap
-msgid "Color names are used to define a specific color to use. They can be passed to functions like pendown or pencolor."
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:4
-#, no-wrap
-msgid "In a program, colors are always displayed on a red background. If a color isn't highlighted in red, it is misspelled. Caps and lower cases should be kept as is."
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:6
-#, no-wrap
-msgid "Below are the different colors available:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:8
-#, no-wrap
-msgid ""
-"White\n"
-"Black\n"
-"Gray\n"
-"LightGray\n"
-"Red\n"
-"Pink\n"
-"Purple\n"
-"Orange\n"
-"Yellow\n"
-"Beige\n"
-"Brown\n"
-"Skin\n"
-"Green\n"
-"LightGreen\n"
-"Blue\n"
-"LightBlue"
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:25
-#, no-wrap
-msgid "You can also draw colored symbols:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/colors.txt:27
-#, no-wrap
-msgid ""
-"BlackArrow\n"
-"RedArrow"
-msgstr ""
-
-#. type: Plain text
-#: ../E/object.txt:4
-#, no-wrap
-msgid ""
-"int object.category Category of the object\n"
-"point object.position Position of the object (x,y,z)\n"
-"float object.orientation Orientation of the object (0..360)\n"
-"float object.pitch Forward/backward angle of the object\n"
-"float object.roll Right/left angle of the object \n"
-"float object.energyLevel Energy level (0..1)\n"
-"float object.shieldLevel Shield level (0..1)\n"
-"float object.temperature Jet temperature (0..1)\n"
-"float object.altitude Altitude above ground\n"
-"float object.lifeTime Lifetime of the object\n"
-"object object.energyCell Power cell on the bot\n"
-"object object.load Object carried by the bot\n"
-"int object.team The object's team (see code battles)\n"
-"point object.velocity Velocity of the object"
-msgstr ""
-
-#. type: \b; header
-#: ../E/pencolor.txt:1
-#, no-wrap
-msgid "Instruction pencolor"
+msgid "Instruction round"
msgstr ""
#. type: Source code
-#: ../E/pencolor.txt:3
+#: ../E/round.txt:3
#, no-wrap
-msgid "pencolor ( color );"
-msgstr ""
-
-#. type: \t; header
-#: ../E/pencolor.txt:6 ../E/pendown.txt:6
-#, no-wrap
-msgid "color: int (default value: Black)"
+msgid "round ( value );"
msgstr ""
#. type: Plain text
-#: ../E/pencolor.txt:7 ../E/pendown.txt:7
+#: ../E/round.txt:4
#, no-wrap
-msgid "Color name."
-msgstr ""
-
-#. type: \b; header
-#: ../E/pendown.txt:1
-#, no-wrap
-msgid "Instruction pendown"
-msgstr ""
-
-#. type: Source code
-#: ../E/pendown.txt:3
-#, no-wrap
-msgid "pendown ( color, width );"
-msgstr ""
-
-#. type: \t; header
-#: ../E/pendown.txt:9
-#, no-wrap
-msgid "width: float (default value: 0.5)"
+msgid "Rounds a number."
msgstr ""
#. type: Plain text
-#: ../E/pendown.txt:10 ../E/penwidth.txt:7
+#: ../E/round.txt:10
#, no-wrap
-msgid "Width of the pen. The width cannot be higher than 1.0 and cannot be lower than 0.0. Passing a higher value will result in the width being the highest possible and passing a lower value will result in the width being the lowest possible."
+msgid "Rounded value. For example, round(2.5) is 3.0, whereas round(2.4) is 2.0."
msgstr ""
#. type: Plain text
-#: ../E/pendown.txt:13
+#: ../E/round.txt:13
#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by pendown();.\n"
-"== 0 The pen is now down\n"
-"!= 0 The instruction did not work"
-msgstr ""
-
-#. type: Plain text
-#: ../E/pencolor.txt:4
-#, no-wrap
-msgid "The instruction pencolor(); instructs the bot to change the color of the pencil."
-msgstr ""
-
-#. type: Plain text
-#: ../E/pencolor.txt:10
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by pencolor();.\n"
-"== 0 The color was changed\n"
-"!= 0 The instruction did not work"
-msgstr ""
-
-#. type: \b; header
-#: ../E/penup.txt:1
-#, no-wrap
-msgid "Instruction penup"
-msgstr ""
-
-#. type: Source code
-#: ../E/penup.txt:3
-#, no-wrap
-msgid "penup ( );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/penup.txt:7
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by penup();.\n"
-"== 0 The pen is now up\n"
-"!= 0 The instruction did not work"
-msgstr ""
-
-#. type: \b; header
-#: ../E/penwidth.txt:1
-#, no-wrap
-msgid "Instruction penwidth"
-msgstr ""
-
-#. type: Source code
-#: ../E/penwidth.txt:3
-#, no-wrap
-msgid "penwidth ( color );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/penwidth.txt:4
-#, no-wrap
-msgid "The instruction penwidth(); instructs the bot to change the width of the pencil."
-msgstr ""
-
-#. type: \t; header
-#: ../E/penwidth.txt:6
-#, no-wrap
-msgid "width: float"
-msgstr ""
-
-#. type: Plain text
-#: ../E/penwidth.txt:10
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by penwidth();.\n"
-"== 0 The width was changed\n"
-"!= 0 The instruction did not work"
-msgstr ""
-
-#. type: Plain text
-#: ../E/pendown.txt:4
-#, no-wrap
-msgid "The instruction pendown(); instructs the bot to have the pen down, so it starts drawing."
-msgstr ""
-
-#. type: Plain text
-#: ../E/penup.txt:4
-#, no-wrap
-msgid "The instruction penup(); instructs the bot to have the pen up, so it stops drawing. The pen is up by default, so it should be used only after using pendown."
-msgstr ""
-
-#. type: \b; header
-#: ../E/canresearch.txt:1
-#, no-wrap
-msgid "Instruction canresearch"
-msgstr ""
-
-#. type: Source code
-#: ../E/canresearch.txt:3
-#, no-wrap
-msgid "canresearch ( research );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/canresearch.txt:5
-#, no-wrap
-msgid "Checks if the research can be done in the level."
-msgstr ""
-
-#. type: \t; header
-#: ../E/canresearch.txt:7 ../E/researched.txt:7
-#, no-wrap
-msgid "research: int"
-msgstr ""
-
-#. type: Plain text
-#: ../E/canresearch.txt:11
-#, no-wrap
-msgid ""
-"true if the research can be done (even if it is already done, to check that, use the researched instruction)\n"
-"false if the research cannot be done"
-msgstr ""
-
-#. type: Plain text
-#: ../E/canresearch.txt:15
-#, no-wrap
-msgid "Research names, research, researched, programming, types and categories."
-msgstr ""
-
-#. type: \b; header
-#: ../E/researched.txt:1
-#, no-wrap
-msgid "Instruction researched"
-msgstr ""
-
-#. type: Source code
-#: ../E/researched.txt:3
-#, no-wrap
-msgid "researched ( research );"
-msgstr ""
-
-#. type: Plain text
-#: ../E/researched.txt:5
-#, no-wrap
-msgid "Checks if the research was done in the level."
-msgstr ""
-
-#. type: Plain text
-#: ../E/researched.txt:11
-#, no-wrap
-msgid ""
-"true if the research was done\n"
-"false if the research was not done"
-msgstr ""
-
-#. type: Plain text
-#: ../E/researched.txt:15
-#, no-wrap
-msgid "Research names, research, canresearch, canbuildprogramming, types and categories."
-msgstr ""
-
-#. type: \b; header
-#: ../E/flatspace.txt:1
-#, no-wrap
-msgid "Instruction flatspace"
-msgstr ""
-
-#. type: Source code
-#: ../E/flatspace.txt:3
-#, no-wrap
-msgid "flatspace ( center, flatmin, rmin, rmax, dist );"
-msgstr ""
-
-#. type: \t; header
-#: ../E/flatspace.txt:10
-#, no-wrap
-msgid "flatmin: float"
-msgstr ""
-
-#. type: Plain text
-#: ../E/flatspace.txt:11
-#, no-wrap
-msgid "Minimum radius of flat ground around the desired position."
-msgstr ""
-
-#. type: Plain text
-#: ../E/flatspace.txt:5
-#, no-wrap
-msgid "Determines the position of the nearest free space with at least flatmin of flat ground around a given position. Works similar to space();. Useful for finding a place for a building."
-msgstr ""
-
-#. type: Plain text
-#: ../E/function.txt:14
-#, no-wrap
-msgid "Nothing but a name can be changed in the main function. The keyword extern distinguish the main function from others."
-msgstr ""
-
-#. type: Bullet: 'o'
-#: ../E/radar.txt:24
-#, no-wrap
-msgid "Array of categories of the objects that should be detected. For example, when you are looking only for grabbers:"
-msgstr ""
-
-#. type: Bullet: 'o'
-#: ../E/detect.txt:12 ../E/radar.txt:23
-#, no-wrap
-msgid "Category of the objects that should be detected. For example, when you are looking for an ant, write radar(AlienAnt). "
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:25 ../E/search.txt:10
-#, no-wrap
-msgid "int bots[4];"
+msgid "trunc, floor, ceil, programming, types and expressions."
msgstr ""
#. type: Plain text
@@ -7352,67 +7570,45 @@ msgid "position: point (default value: destroy"
+msgid "Instruction sin"
msgstr ""
#. type: Source code
-#: ../E/destroy.txt:3
+#: ../E/sin.txt:3
#, no-wrap
-msgid "object.destroy ( );"
+msgid "sin ( angle );"
msgstr ""
#. type: Plain text
-#: ../E/destroy.txt:5
+#: ../E/sin.txt:9
#, no-wrap
-msgid "Destroys an object."
+msgid "Sine of the angle."
+msgstr ""
+
+#. type: \b; header
+#: ../E/sqrt.txt:1
+#, no-wrap
+msgid "Instruction sqrt"
+msgstr ""
+
+#. type: Source code
+#: ../E/sqrt.txt:3
+#, no-wrap
+msgid "sqrt ( value );"
msgstr ""
#. type: Plain text
-#: ../E/destroy.txt:8
+#: ../E/sqrt.txt:6
#, no-wrap
-msgid "Destroyer."
+msgid "Non-negative number."
msgstr ""
#. type: Plain text
-#: ../E/category.txt:10
+#: ../E/sqrt.txt:9
#, no-wrap
-msgid ""
-" HoustonMission Control\n"
-" SpaceShipSpaceship\n"
-" BotFactoryRobot Factory\n"
-" ResearchCenterResearch Center\n"
-" RadarStationRadar\n"
-" ExchangePostInformation Exchange Post\n"
-" RepairCenterRepair Center\n"
-" DefenseTowerDefense Tower\n"
-" AutoLabOrganic Matter Analyzer \n"
-" PowerStationPower Station\n"
-" PowerPlantPower Cell Factory\n"
-" NuclearPlantNuclear Plant\n"
-" ConverterTitanium Converter\n"
-" DerrickDerrick\n"
-" PowerCaptorParabolic Lightning Conductor\n"
-" VaultVault\n"
-" StartAreaStarting Pad\n"
-" GoalAreaFinishing Pad\n"
-" AlienNestAlien Nest"
-msgstr ""
-
-#. type: Plain text
-#: ../E/destroy.txt:11
-#, no-wrap
-msgid ""
-"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by destroy().\n"
-"== 0 The operation of destroying of an object was started\n"
-"!= 0 The instruction could not be done (e.g. nothing to destroy)"
-msgstr ""
-
-#. type: Bullet: 'o'
-#: ../E/detect.txt:21 ../E/search.txt:17
-#, no-wrap
-msgid "Keyword Any if you are looking for any object (including even plants and so on)."
+msgid "Square root of the value."
msgstr ""
#. type: \b; header
@@ -7427,6 +7623,18 @@ msgstr ""
msgid "With the instruction switch() {} you can execute a proper set of instructions (a case) basing on some value."
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: Source code
#: ../E/switch.txt:9
#, no-wrap
@@ -7489,6 +7697,12 @@ msgid ""
"}"
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: Source code
#: ../E/switch.txt:48
#, no-wrap
@@ -7503,24 +7717,6 @@ msgid ""
"}"
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
@@ -7538,276 +7734,95 @@ msgid ""
"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 ""
-#. type: \b; header
-#: ../E/detect.txt:1
-#, no-wrap
-msgid "Instruction detect"
-msgstr ""
-
-#. type: Source code
-#: ../E/detect.txt:6
-#, no-wrap
-msgid "detect ( cat );"
-msgstr ""
-
#. type: Plain text
-#: ../E/detect.txt:8
+#: ../E/switch.txt:68
#, no-wrap
-msgid "Detects the nearest object of the specified category being in front of the bot. It is similar to the following instruction:"
-msgstr ""
-
-#. type: Source code
-#: ../E/detect.txt:9
-#, no-wrap
-msgid "radar(cat, 0, 45, 0, 20);"
-msgstr ""
-
-#. type: Source code
-#: ../E/detect.txt:14
-#, no-wrap
-msgid ""
-"int bots[4];\n"
-"bots[0] = WheeledGrabber;\n"
-"bots[1] = TrackedGrabber;\n"
-"bots[2] = WingedGrabber;\n"
-"bots[3] = LeggedGrabber;\n"
-"object nearestGrabber = radar(bots);"
-msgstr ""
-
-#. type: Plain text
-#: ../E/detect.txt:24
-#, no-wrap
-msgid ""
-"true if the object was found\n"
-"false if the object was not found"
+msgid "Do not put a semicolon at the end of the switch ( ) { } instruction."
msgstr ""
#. type: \b; header
-#: ../E/radar.txt:1
+#: ../E/takeoff.txt:1
#, no-wrap
-msgid "Instruction radar"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:2
-#, no-wrap
-msgid "With the instruction radar(), you can look for objects like enemies, bots, buildings or raw materials."
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:5
-#, no-wrap
-msgid "Write in brackets the name of the object that you look for. Put the result in a variable of the typeobject. Here is an example that looks for the closest ant:"
+msgid "Instruction takeoff"
msgstr ""
#. type: Source code
-#: ../E/radar.txt:7
+#: ../E/takeoff.txt:3
+#, no-wrap
+msgid "object.takeoff ( );"
+msgstr ""
+
+#. type: Plain text
+#: ../E/takeoff.txt:5
+#, no-wrap
+msgid "Takes off the spaceship."
+msgstr ""
+
+#. type: Plain text
+#: ../E/takeoff.txt:8
+#, no-wrap
+msgid "SpaceShip"
+msgstr ""
+
+#. type: Plain text
+#: ../E/takeoff.txt:11
#, no-wrap
msgid ""
-"// At the beginning of the program:\n"
-"object item; // variable declaration\n"
-"\n"
-"// Look for the closest ant\n"
-"item = radar(AlienAnt);"
+"Normally an error stops the program. You can prevent the program from stopping on errors by using the errmode(0) instruction. A value different from zero if an error occurred is then returned by takeoff().\n"
+"== 0 Spaceship takes off\n"
+"!= 0 Spaceship could not take off (e.g. mission is not finished yet)"
+msgstr ""
+
+#. type: \b; header
+#: ../E/tan.txt:1
+#, no-wrap
+msgid "Instruction tan"
msgstr ""
#. type: Source code
-#: ../E/radar.txt:15
+#: ../E/tan.txt:3
#, no-wrap
-msgid "radar ( cat, angle, focus, min, max, sens, filter );"
+msgid "tan ( angle );"
msgstr ""
#. type: Plain text
-#: ../E/radar.txt:17
+#: ../E/tan.txt:6
#, no-wrap
-msgid "Detects an object according to several parameters. "
-msgstr ""
-
-#. type: Image filename
-#: ../E/radar.txt:19
-#, no-wrap
-msgid "radar1"
+msgid "Angle in degrees (except multiples of 90)."
msgstr ""
#. type: Plain text
-#: ../E/radar.txt:20
+#: ../E/tan.txt:9
#, no-wrap
-msgid "Seen from above, the purple zone corresponds to the zone where objects will be detected. "
+msgid "Tangent of the angle."
+msgstr ""
+
+#. type: \b; header
+#: ../E/trunc.txt:1
+#, no-wrap
+msgid "Instruction trunc"
msgstr ""
#. type: Source code
-#: ../E/radar.txt:26
+#: ../E/trunc.txt:3
#, no-wrap
-msgid ""
-"bots[0] = WheeledGrabber;\n"
-"bots[1] = TrackedGrabber;\n"
-"bots[2] = WingedGrabber;\n"
-"bots[3] = LeggedGrabber;\n"
-"object nearestGrabber = radar(bots);"
-msgstr ""
-
-#. type: Bullet: 'o'
-#: ../E/radar.txt:31
-#, no-wrap
-msgid "Keyword Any if you are looking for any object (including even plants and so on). Filters may be useful to use with this keyword."
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:33
-#, no-wrap
-msgid "angle: float (default value: 0)"
+msgid "trunc ( value );"
msgstr ""
#. type: Plain text
-#: ../E/radar.txt:34
+#: ../E/trunc.txt:4
#, no-wrap
-msgid ""
-"Direction that the radar is facing, in degrees. \n"
-" 0 -> radar is facing straight ahead\n"
-"-90 -> radar is facing a quarter turn right\n"
-" 90 -> radar is facing a quarter turn left"
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:39
-#, no-wrap
-msgid "focus: float (default value: 360)"
+msgid "Truncation is a method of approximating a decimal number by dropping all decimal places past a certain point without rounding. For positive numbers, it works like the floor(); function, and for negative numbers, it works like the ceil(); function. It can be said that it rounds towards zero."
msgstr ""
#. type: Plain text
-#: ../E/radar.txt:40
+#: ../E/trunc.txt:10
#, no-wrap
-msgid "Opening angle of the radar, in degrees. "
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:42
-#, no-wrap
-msgid "min: float (default value: 0)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:43
-#, no-wrap
-msgid "Minimum detection distance, in meters. Objects that are closer than the minimum distance will not be detected. "
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:45
-#, no-wrap
-msgid "max: float (default value: 1000)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:46
-#, no-wrap
-msgid "Maximum detection distance, in meters. Objects that are farther away than the maximum distance will not be detected. "
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:48
-#, no-wrap
-msgid "sens: float (default value: 1)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:49
-#, no-wrap
-msgid "Determines which way the objects are detected. With value 1, returns the closest object found in the specified zone. With value -1, the farthest object in the zone will be returned. "
-msgstr ""
-
-#. type: \t; header
-#: ../E/radar.txt:51
-#, no-wrap
-msgid "filter: int (default value: FilterNone)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:52
-#, no-wrap
-msgid "Determines which type of objects should be detected. Especially useful in use with an array or Any. The following filters are available:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:54
-#, no-wrap
-msgid ""
-"FilterNoneDetects everything (default)\n"
-"FilterOnlyLandingDetects only objects being on the ground\n"
-"FilterOnlyFlyingDetects only objects not being on the ground\n"
-"FilterFriendlyDetects only allies (objects in the same team)\n"
-"FilterEnemyDetects only enemies (objects in an other team except neutral)\n"
-"FilterNeutralDetects only neutral objects (e.g. resources)"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:61
-#, no-wrap
-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. Attention: you should use FilterNeutral instead of 0 or else it will not work."
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:63
-#, no-wrap
-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: Plain text
-#: ../E/radar.txt:66
-#, no-wrap
-msgid "Returns the first object found that corresponds to the specified category in the specified zone. If no object was found, returns the value null."
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:69
-#, no-wrap
-msgid "You do not have to give all the parameters. Here are two examples of instructions that are equivalent: "
-msgstr ""
-
-#. type: Source code
-#: ../E/radar.txt:71
-#, no-wrap
-msgid ""
-"\tradar(Titanium, 0, 360, 0, 1000);\n"
-"\tradar(Titanium); // equivalent"
-msgstr ""
-
-#. type: Source code
-#: ../E/radar.txt:74
-#, no-wrap
-msgid ""
-"\tradar(Titanium, 0, 90, 0, 1000);\n"
-"\tradar(Titanium, 0, 90); // equivalent"
-msgstr ""
-
-#. type: Plain text
-#: ../E/radar.txt:77
-#, no-wrap
-msgid ""
-"When one or more parameters are not specified, the default values indicated above are used instead; only the first parameter is compulsory.\n"
-"Generally, only the first parameter is specified: f. ex. radar (AlienAnt) detects the closest ant, wherever it may be. "
-msgstr ""
-
-#. type: Plain text
-#: ../E/detect.txt:2
-#, no-wrap
-msgid "With the instruction detect();, you can look for objects like enemies, bots, buildings or raw materials, which are in front of the bot. It is a simpler version of radar();."
-msgstr ""
-
-#. type: Bullet: 'o'
-#: ../E/detect.txt:13
-#, no-wrap
-msgid "Array of categories of the objects that should be detected. For example, when you are looking only for grabbers:"
+msgid "Truncated value. For example, trunc(-2.5) is -2.00."
msgstr ""
diff --git a/help/generic/po/de.po b/help/generic/po/de.po
index d6193703..219674fe 100644
--- a/help/generic/po/de.po
+++ b/help/generic/po/de.po
@@ -518,75 +518,6 @@ msgstr "Die Entwickler und interne Beta-Tester von Original COLOBOT spiel von EP
msgid "Colobot: Gold Edition developers"
msgstr "Die Colobot: Gold Edition Entwickler"
-#. type: \t; header
-#: ../E/cbot.txt:111
-#, no-wrap
-msgid "Mathematical functions:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/cbot.txt:60
-#, no-wrap
-msgid ""
-"grabPicks up an object\n"
-"dropPuts down an object\n"
-"sniffSounds the subsoil\n"
-"thumpOverturns alien insects\n"
-"recycleRecycles a derelict bot\n"
-"shieldExtends or withdraws the shield\n"
-"fireFires the cannon\n"
-"aimRotates the cannon\n"
-"buildBuilds a building\n"
-"canbuildChecks if a building can be built\n"
-"buildingenabledChecks if a building can be built in the level"
-msgstr ""
-
-#. type: Plain text
-#: ../E/cbot.txt:112
-#, no-wrap
-msgid ""
-"randReturns a random value\n"
-"powReturns a power\n"
-"sqrtReturns a square root\n"
-"floorReturns the largest previous integer\n"
-"ceilReturns the smallest following integer\n"
-"roundReturns a rounded number\n"
-"truncReturns a truncated number\n"
-"sinReturns a sine\n"
-"cosReturns a cosine\n"
-"tanReturns a tangent\n"
-"asinReturns an arcus sine\n"
-"acosReturns an arcus cosine\n"
-"atanReturns an arcus tangent\n"
-"atan2Returns an arcus tangent, has two arguments"
-msgstr ""
-
-#. type: \t; header
-#: ../E/cbot.txt:72
-#, no-wrap
-msgid "Instructions specific for some objects:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/cbot.txt:73
-#, no-wrap
-msgid ""
-"factoryStarts construction of a bot\n"
-"researchStarts a research\n"
-"takeoffTakes off a spaceship\n"
-"busyChecks if object is busy"
-msgstr ""
-
-#. type: Plain text
-#: ../E/cbot.txt:54
-#, no-wrap
-msgid ""
-"spaceCalculates a free space\n"
-"flatspaceCalculates a free, flat space\n"
-"topoReturns the altitude of a point\n"
-"flatgroundReturns radius of a flat area"
-msgstr ""
-
#. type: \b; header
#: ../E/battles.txt:1
#, no-wrap
@@ -606,21 +537,15 @@ msgid "Basics of production line"
msgstr ""
#. type: Plain text
-#: ../E/battles.txt:7
+#: ../E/battles.txt:5
#, no-wrap
-msgid "Production line is explained in Missions and Exercises, but you may want to jump into code battles right away without beating the whole game. So here is a brief description of how the things works in Colobot."
+msgid "With the new functions provided in the Gold Edition, you can create a fully automatised base, which does not need any influence from human. All of them are described in the CBOT documentation."
msgstr ""
#. type: Plain text
-#: ../E/battles.txt:41
+#: ../E/battles.txt:7
#, no-wrap
-msgid "Programming, types and categories."
-msgstr ""
-
-#. type: Image filename
-#: ../E/battles.txt:12
-#, no-wrap
-msgid "productionline1"
+msgid "Production line is explained in Missions and Exercises, but you may want to jump into code battles right away without beating the whole game. So here is a brief description of how the things works in Colobot."
msgstr ""
#. type: \t; header
@@ -635,42 +560,18 @@ msgstr ""
msgid "Basically, you want to destroy the opponent. To do that, you will need something lethal, for example, a robot, specifically, a shooter. But you will probably be losing them quite often, so maybe you should keep the production going on. For example, more grabbers or more factories, converters and so on would be helpful in that. Remember that robots needs batteries. Anyway, before you can start, you must also do some researches to get better technologies. And here we are at the beginning, with a single robot and a Titanium."
msgstr ""
+#. type: Image filename
+#: ../E/battles.txt:12
+#, no-wrap
+msgid "productionline1"
+msgstr ""
+
#. type: \t; header
#: ../E/battles.txt:14
#, no-wrap
msgid "Titanium production"
msgstr ""
-#. type: \t; header
-#: ../E/battles.txt:22
-#, no-wrap
-msgid "Researches"
-msgstr ""
-
-#. type: \t; header
-#: ../E/battles.txt:27
-#, no-wrap
-msgid "Robot production"
-msgstr ""
-
-#. type: \t; header
-#: ../E/battles.txt:33
-#, no-wrap
-msgid "Power cell production"
-msgstr ""
-
-#. type: \t; header
-#: ../E/battles.txt:37
-#, no-wrap
-msgid "There is more"
-msgstr ""
-
-#. type: Plain text
-#: ../E/battles.txt:5
-#, no-wrap
-msgid "With the new functions provided in the Gold Edition, you can create a fully automatised base, which does not need any influence from human. All of them are described in the CBOT documentation."
-msgstr ""
-
#. type: Plain text
#: ../E/battles.txt:15
#, no-wrap
@@ -683,6 +584,12 @@ msgid ""
"Repeat steps 3-5 in order to keep your production going."
msgstr ""
+#. type: \t; header
+#: ../E/battles.txt:22
+#, no-wrap
+msgid "Researches"
+msgstr ""
+
#. type: Plain text
#: ../E/battles.txt:23
#, no-wrap
@@ -692,6 +599,12 @@ msgid ""
"3. Request a research and wait until the research center is done."
msgstr ""
+#. type: \t; header
+#: ../E/battles.txt:27
+#, no-wrap
+msgid "Robot production"
+msgstr ""
+
#. type: Plain text
#: ../E/battles.txt:28
#, no-wrap
@@ -702,6 +615,12 @@ msgid ""
"4. Power the robot with a PowerCell."
msgstr ""
+#. type: \t; header
+#: ../E/battles.txt:33
+#, no-wrap
+msgid "Power cell production"
+msgstr ""
+
#. type: Plain text
#: ../E/battles.txt:34
#, no-wrap
@@ -710,12 +629,24 @@ msgid ""
"2. Place a Titanium in it and wait until the power plant is done."
msgstr ""
+#. type: \t; header
+#: ../E/battles.txt:37
+#, no-wrap
+msgid "There is more"
+msgstr ""
+
#. type: Plain text
#: ../E/battles.txt:38
#, no-wrap
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/battles.txt:41
+#, no-wrap
+msgid "Programming, types and categories."
+msgstr ""
+
#. type: Plain text
#: ../E/cbot.txt:15
#, no-wrap
@@ -762,3 +693,72 @@ msgid ""
"canresearchChecks if a technology can be researched\n"
"researchedChecks if a technology is researched"
msgstr ""
+
+#. type: Plain text
+#: ../E/cbot.txt:54
+#, no-wrap
+msgid ""
+"spaceCalculates a free space\n"
+"flatspaceCalculates a free, flat space\n"
+"topoReturns the altitude of a point\n"
+"flatgroundReturns radius of a flat area"
+msgstr ""
+
+#. type: Plain text
+#: ../E/cbot.txt:60
+#, no-wrap
+msgid ""
+"grabPicks up an object\n"
+"dropPuts down an object\n"
+"sniffSounds the subsoil\n"
+"thumpOverturns alien insects\n"
+"recycleRecycles a derelict bot\n"
+"shieldExtends or withdraws the shield\n"
+"fireFires the cannon\n"
+"aimRotates the cannon\n"
+"buildBuilds a building\n"
+"canbuildChecks if a building can be built\n"
+"buildingenabledChecks if a building can be built in the level"
+msgstr ""
+
+#. type: \t; header
+#: ../E/cbot.txt:72
+#, no-wrap
+msgid "Instructions specific for some objects:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/cbot.txt:73
+#, no-wrap
+msgid ""
+"factoryStarts construction of a bot\n"
+"researchStarts a research\n"
+"takeoffTakes off a spaceship\n"
+"busyChecks if object is busy"
+msgstr ""
+
+#. type: \t; header
+#: ../E/cbot.txt:111
+#, no-wrap
+msgid "Mathematical functions:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/cbot.txt:112
+#, no-wrap
+msgid ""
+"randReturns a random value\n"
+"powReturns a power\n"
+"sqrtReturns a square root\n"
+"floorReturns the largest previous integer\n"
+"ceilReturns the smallest following integer\n"
+"roundReturns a rounded number\n"
+"truncReturns a truncated number\n"
+"sinReturns a sine\n"
+"cosReturns a cosine\n"
+"tanReturns a tangent\n"
+"asinReturns an arcus sine\n"
+"acosReturns an arcus cosine\n"
+"atanReturns an arcus tangent\n"
+"atan2Returns an arcus tangent, has two arguments"
+msgstr ""
diff --git a/help/generic/po/fr.po b/help/generic/po/fr.po
index cefe6465..f36173a5 100644
--- a/help/generic/po/fr.po
+++ b/help/generic/po/fr.po
@@ -513,75 +513,6 @@ msgstr ""
"Houston vous transmet au nom de l'humanité entière ses félicitations pour le succès de votre mission.\n"
"La Grande Migration va débuter très prochainement ..."
-#. type: \t; header
-#: ../E/cbot.txt:111
-#, no-wrap
-msgid "Mathematical functions:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/cbot.txt:60
-#, no-wrap
-msgid ""
-"grabPicks up an object\n"
-"dropPuts down an object\n"
-"sniffSounds the subsoil\n"
-"thumpOverturns alien insects\n"
-"recycleRecycles a derelict bot\n"
-"shieldExtends or withdraws the shield\n"
-"fireFires the cannon\n"
-"aimRotates the cannon\n"
-"buildBuilds a building\n"
-"canbuildChecks if a building can be built\n"
-"buildingenabledChecks if a building can be built in the level"
-msgstr ""
-
-#. type: Plain text
-#: ../E/cbot.txt:112
-#, no-wrap
-msgid ""
-"randReturns a random value\n"
-"powReturns a power\n"
-"sqrtReturns a square root\n"
-"floorReturns the largest previous integer\n"
-"ceilReturns the smallest following integer\n"
-"roundReturns a rounded number\n"
-"truncReturns a truncated number\n"
-"sinReturns a sine\n"
-"cosReturns a cosine\n"
-"tanReturns a tangent\n"
-"asinReturns an arcus sine\n"
-"acosReturns an arcus cosine\n"
-"atanReturns an arcus tangent\n"
-"atan2Returns an arcus tangent, has two arguments"
-msgstr ""
-
-#. type: \t; header
-#: ../E/cbot.txt:72
-#, no-wrap
-msgid "Instructions specific for some objects:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/cbot.txt:73
-#, no-wrap
-msgid ""
-"factoryStarts construction of a bot\n"
-"researchStarts a research\n"
-"takeoffTakes off a spaceship\n"
-"busyChecks if object is busy"
-msgstr ""
-
-#. type: Plain text
-#: ../E/cbot.txt:54
-#, no-wrap
-msgid ""
-"spaceCalculates a free space\n"
-"flatspaceCalculates a free, flat space\n"
-"topoReturns the altitude of a point\n"
-"flatgroundReturns radius of a flat area"
-msgstr ""
-
#. type: \b; header
#: ../E/battles.txt:1
#, no-wrap
@@ -601,21 +532,15 @@ msgid "Basics of production line"
msgstr ""
#. type: Plain text
-#: ../E/battles.txt:7
+#: ../E/battles.txt:5
#, no-wrap
-msgid "Production line is explained in Missions and Exercises, but you may want to jump into code battles right away without beating the whole game. So here is a brief description of how the things works in Colobot."
+msgid "With the new functions provided in the Gold Edition, you can create a fully automatised base, which does not need any influence from human. All of them are described in the CBOT documentation."
msgstr ""
#. type: Plain text
-#: ../E/battles.txt:41
+#: ../E/battles.txt:7
#, no-wrap
-msgid "Programming, types and categories."
-msgstr ""
-
-#. type: Image filename
-#: ../E/battles.txt:12
-#, no-wrap
-msgid "productionline1"
+msgid "Production line is explained in Missions and Exercises, but you may want to jump into code battles right away without beating the whole game. So here is a brief description of how the things works in Colobot."
msgstr ""
#. type: \t; header
@@ -630,42 +555,18 @@ msgstr ""
msgid "Basically, you want to destroy the opponent. To do that, you will need something lethal, for example, a robot, specifically, a shooter. But you will probably be losing them quite often, so maybe you should keep the production going on. For example, more grabbers or more factories, converters and so on would be helpful in that. Remember that robots needs batteries. Anyway, before you can start, you must also do some researches to get better technologies. And here we are at the beginning, with a single robot and a Titanium."
msgstr ""
+#. type: Image filename
+#: ../E/battles.txt:12
+#, no-wrap
+msgid "productionline1"
+msgstr ""
+
#. type: \t; header
#: ../E/battles.txt:14
#, no-wrap
msgid "Titanium production"
msgstr ""
-#. type: \t; header
-#: ../E/battles.txt:22
-#, no-wrap
-msgid "Researches"
-msgstr ""
-
-#. type: \t; header
-#: ../E/battles.txt:27
-#, no-wrap
-msgid "Robot production"
-msgstr ""
-
-#. type: \t; header
-#: ../E/battles.txt:33
-#, no-wrap
-msgid "Power cell production"
-msgstr ""
-
-#. type: \t; header
-#: ../E/battles.txt:37
-#, no-wrap
-msgid "There is more"
-msgstr ""
-
-#. type: Plain text
-#: ../E/battles.txt:5
-#, no-wrap
-msgid "With the new functions provided in the Gold Edition, you can create a fully automatised base, which does not need any influence from human. All of them are described in the CBOT documentation."
-msgstr ""
-
#. type: Plain text
#: ../E/battles.txt:15
#, no-wrap
@@ -678,6 +579,12 @@ msgid ""
"Repeat steps 3-5 in order to keep your production going."
msgstr ""
+#. type: \t; header
+#: ../E/battles.txt:22
+#, no-wrap
+msgid "Researches"
+msgstr ""
+
#. type: Plain text
#: ../E/battles.txt:23
#, no-wrap
@@ -687,6 +594,12 @@ msgid ""
"3. Request a research and wait until the research center is done."
msgstr ""
+#. type: \t; header
+#: ../E/battles.txt:27
+#, no-wrap
+msgid "Robot production"
+msgstr ""
+
#. type: Plain text
#: ../E/battles.txt:28
#, no-wrap
@@ -697,6 +610,12 @@ msgid ""
"4. Power the robot with a PowerCell."
msgstr ""
+#. type: \t; header
+#: ../E/battles.txt:33
+#, no-wrap
+msgid "Power cell production"
+msgstr ""
+
#. type: Plain text
#: ../E/battles.txt:34
#, no-wrap
@@ -705,12 +624,24 @@ msgid ""
"2. Place a Titanium in it and wait until the power plant is done."
msgstr ""
+#. type: \t; header
+#: ../E/battles.txt:37
+#, no-wrap
+msgid "There is more"
+msgstr ""
+
#. type: Plain text
#: ../E/battles.txt:38
#, no-wrap
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/battles.txt:41
+#, no-wrap
+msgid "Programming, types and categories."
+msgstr ""
+
#. type: Plain text
#: ../E/cbot.txt:15
#, no-wrap
@@ -757,3 +688,72 @@ msgid ""
"canresearchChecks if a technology can be researched\n"
"researchedChecks if a technology is researched"
msgstr ""
+
+#. type: Plain text
+#: ../E/cbot.txt:54
+#, no-wrap
+msgid ""
+"spaceCalculates a free space\n"
+"flatspaceCalculates a free, flat space\n"
+"topoReturns the altitude of a point\n"
+"flatgroundReturns radius of a flat area"
+msgstr ""
+
+#. type: Plain text
+#: ../E/cbot.txt:60
+#, no-wrap
+msgid ""
+"grabPicks up an object\n"
+"dropPuts down an object\n"
+"sniffSounds the subsoil\n"
+"thumpOverturns alien insects\n"
+"recycleRecycles a derelict bot\n"
+"shieldExtends or withdraws the shield\n"
+"fireFires the cannon\n"
+"aimRotates the cannon\n"
+"buildBuilds a building\n"
+"canbuildChecks if a building can be built\n"
+"buildingenabledChecks if a building can be built in the level"
+msgstr ""
+
+#. type: \t; header
+#: ../E/cbot.txt:72
+#, no-wrap
+msgid "Instructions specific for some objects:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/cbot.txt:73
+#, no-wrap
+msgid ""
+"factoryStarts construction of a bot\n"
+"researchStarts a research\n"
+"takeoffTakes off a spaceship\n"
+"busyChecks if object is busy"
+msgstr ""
+
+#. type: \t; header
+#: ../E/cbot.txt:111
+#, no-wrap
+msgid "Mathematical functions:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/cbot.txt:112
+#, no-wrap
+msgid ""
+"randReturns a random value\n"
+"powReturns a power\n"
+"sqrtReturns a square root\n"
+"floorReturns the largest previous integer\n"
+"ceilReturns the smallest following integer\n"
+"roundReturns a rounded number\n"
+"truncReturns a truncated number\n"
+"sinReturns a sine\n"
+"cosReturns a cosine\n"
+"tanReturns a tangent\n"
+"asinReturns an arcus sine\n"
+"acosReturns an arcus cosine\n"
+"atanReturns an arcus tangent\n"
+"atan2Returns an arcus tangent, has two arguments"
+msgstr ""
diff --git a/help/generic/po/generic.pot b/help/generic/po/generic.pot
index 8203ae2a..e636f992 100644
--- a/help/generic/po/generic.pot
+++ b/help/generic/po/generic.pot
@@ -453,75 +453,6 @@ msgstr ""
msgid "Colobot: Gold Edition developers"
msgstr ""
-#. type: \t; header
-#: ../E/cbot.txt:111
-#, no-wrap
-msgid "Mathematical functions:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/cbot.txt:60
-#, no-wrap
-msgid ""
-"grabPicks up an object\n"
-"dropPuts down an object\n"
-"sniffSounds the subsoil\n"
-"thumpOverturns alien insects\n"
-"recycleRecycles a derelict bot\n"
-"shieldExtends or withdraws the shield\n"
-"fireFires the cannon\n"
-"aimRotates the cannon\n"
-"buildBuilds a building\n"
-"canbuildChecks if a building can be built\n"
-"buildingenabledChecks if a building can be built in the level"
-msgstr ""
-
-#. type: Plain text
-#: ../E/cbot.txt:112
-#, no-wrap
-msgid ""
-"randReturns a random value\n"
-"powReturns a power\n"
-"sqrtReturns a square root\n"
-"floorReturns the largest previous integer\n"
-"ceilReturns the smallest following integer\n"
-"roundReturns a rounded number\n"
-"truncReturns a truncated number\n"
-"sinReturns a sine\n"
-"cosReturns a cosine\n"
-"tanReturns a tangent\n"
-"asinReturns an arcus sine\n"
-"acosReturns an arcus cosine\n"
-"atanReturns an arcus tangent\n"
-"atan2Returns an arcus tangent, has two arguments"
-msgstr ""
-
-#. type: \t; header
-#: ../E/cbot.txt:72
-#, no-wrap
-msgid "Instructions specific for some objects:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/cbot.txt:73
-#, no-wrap
-msgid ""
-"factoryStarts construction of a bot\n"
-"researchStarts a research\n"
-"takeoffTakes off a spaceship\n"
-"busyChecks if object is busy"
-msgstr ""
-
-#. type: Plain text
-#: ../E/cbot.txt:54
-#, no-wrap
-msgid ""
-"spaceCalculates a free space\n"
-"flatspaceCalculates a free, flat space\n"
-"topoReturns the altitude of a point\n"
-"flatgroundReturns radius of a flat area"
-msgstr ""
-
#. type: \b; header
#: ../E/battles.txt:1
#, no-wrap
@@ -541,21 +472,15 @@ msgid "Basics of production line"
msgstr ""
#. type: Plain text
-#: ../E/battles.txt:7
+#: ../E/battles.txt:5
#, no-wrap
-msgid "Production line is explained in Missions and Exercises, but you may want to jump into code battles right away without beating the whole game. So here is a brief description of how the things works in Colobot."
+msgid "With the new functions provided in the Gold Edition, you can create a fully automatised base, which does not need any influence from human. All of them are described in the CBOT documentation."
msgstr ""
#. type: Plain text
-#: ../E/battles.txt:41
+#: ../E/battles.txt:7
#, no-wrap
-msgid "Programming, types and categories."
-msgstr ""
-
-#. type: Image filename
-#: ../E/battles.txt:12
-#, no-wrap
-msgid "productionline1"
+msgid "Production line is explained in Missions and Exercises, but you may want to jump into code battles right away without beating the whole game. So here is a brief description of how the things works in Colobot."
msgstr ""
#. type: \t; header
@@ -570,42 +495,18 @@ msgstr ""
msgid "Basically, you want to destroy the opponent. To do that, you will need something lethal, for example, a robot, specifically, a shooter. But you will probably be losing them quite often, so maybe you should keep the production going on. For example, more grabbers or more factories, converters and so on would be helpful in that. Remember that robots needs batteries. Anyway, before you can start, you must also do some researches to get better technologies. And here we are at the beginning, with a single robot and a Titanium."
msgstr ""
+#. type: Image filename
+#: ../E/battles.txt:12
+#, no-wrap
+msgid "productionline1"
+msgstr ""
+
#. type: \t; header
#: ../E/battles.txt:14
#, no-wrap
msgid "Titanium production"
msgstr ""
-#. type: \t; header
-#: ../E/battles.txt:22
-#, no-wrap
-msgid "Researches"
-msgstr ""
-
-#. type: \t; header
-#: ../E/battles.txt:27
-#, no-wrap
-msgid "Robot production"
-msgstr ""
-
-#. type: \t; header
-#: ../E/battles.txt:33
-#, no-wrap
-msgid "Power cell production"
-msgstr ""
-
-#. type: \t; header
-#: ../E/battles.txt:37
-#, no-wrap
-msgid "There is more"
-msgstr ""
-
-#. type: Plain text
-#: ../E/battles.txt:5
-#, no-wrap
-msgid "With the new functions provided in the Gold Edition, you can create a fully automatised base, which does not need any influence from human. All of them are described in the CBOT documentation."
-msgstr ""
-
#. type: Plain text
#: ../E/battles.txt:15
#, no-wrap
@@ -618,6 +519,12 @@ msgid ""
"Repeat steps 3-5 in order to keep your production going."
msgstr ""
+#. type: \t; header
+#: ../E/battles.txt:22
+#, no-wrap
+msgid "Researches"
+msgstr ""
+
#. type: Plain text
#: ../E/battles.txt:23
#, no-wrap
@@ -627,6 +534,12 @@ msgid ""
"3. Request a research and wait until the research center is done."
msgstr ""
+#. type: \t; header
+#: ../E/battles.txt:27
+#, no-wrap
+msgid "Robot production"
+msgstr ""
+
#. type: Plain text
#: ../E/battles.txt:28
#, no-wrap
@@ -637,6 +550,12 @@ msgid ""
"4. Power the robot with a PowerCell."
msgstr ""
+#. type: \t; header
+#: ../E/battles.txt:33
+#, no-wrap
+msgid "Power cell production"
+msgstr ""
+
#. type: Plain text
#: ../E/battles.txt:34
#, no-wrap
@@ -645,12 +564,24 @@ msgid ""
"2. Place a Titanium in it and wait until the power plant is done."
msgstr ""
+#. type: \t; header
+#: ../E/battles.txt:37
+#, no-wrap
+msgid "There is more"
+msgstr ""
+
#. type: Plain text
#: ../E/battles.txt:38
#, no-wrap
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/battles.txt:41
+#, no-wrap
+msgid "Programming, types and categories."
+msgstr ""
+
#. type: Plain text
#: ../E/cbot.txt:15
#, no-wrap
@@ -697,3 +628,72 @@ msgid ""
"canresearchChecks if a technology can be researched\n"
"researchedChecks if a technology is researched"
msgstr ""
+
+#. type: Plain text
+#: ../E/cbot.txt:54
+#, no-wrap
+msgid ""
+"spaceCalculates a free space\n"
+"flatspaceCalculates a free, flat space\n"
+"topoReturns the altitude of a point\n"
+"flatgroundReturns radius of a flat area"
+msgstr ""
+
+#. type: Plain text
+#: ../E/cbot.txt:60
+#, no-wrap
+msgid ""
+"grabPicks up an object\n"
+"dropPuts down an object\n"
+"sniffSounds the subsoil\n"
+"thumpOverturns alien insects\n"
+"recycleRecycles a derelict bot\n"
+"shieldExtends or withdraws the shield\n"
+"fireFires the cannon\n"
+"aimRotates the cannon\n"
+"buildBuilds a building\n"
+"canbuildChecks if a building can be built\n"
+"buildingenabledChecks if a building can be built in the level"
+msgstr ""
+
+#. type: \t; header
+#: ../E/cbot.txt:72
+#, no-wrap
+msgid "Instructions specific for some objects:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/cbot.txt:73
+#, no-wrap
+msgid ""
+"factoryStarts construction of a bot\n"
+"researchStarts a research\n"
+"takeoffTakes off a spaceship\n"
+"busyChecks if object is busy"
+msgstr ""
+
+#. type: \t; header
+#: ../E/cbot.txt:111
+#, no-wrap
+msgid "Mathematical functions:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/cbot.txt:112
+#, no-wrap
+msgid ""
+"randReturns a random value\n"
+"powReturns a power\n"
+"sqrtReturns a square root\n"
+"floorReturns the largest previous integer\n"
+"ceilReturns the smallest following integer\n"
+"roundReturns a rounded number\n"
+"truncReturns a truncated number\n"
+"sinReturns a sine\n"
+"cosReturns a cosine\n"
+"tanReturns a tangent\n"
+"asinReturns an arcus sine\n"
+"acosReturns an arcus cosine\n"
+"atanReturns an arcus tangent\n"
+"atan2Returns an arcus tangent, has two arguments"
+msgstr ""
diff --git a/help/generic/po/pl.po b/help/generic/po/pl.po
index 949ecda0..aca65254 100644
--- a/help/generic/po/pl.po
+++ b/help/generic/po/pl.po
@@ -520,75 +520,6 @@ msgstr ""
"W imieniu całej ludzkości, Centrum Kontroli z Houston gratuluje pomyślnego zakończenia misji.\n"
"Niebawem roczpocznie się Wielka Migracja na Nową Ziemię."
-#. type: \t; header
-#: ../E/cbot.txt:111
-#, no-wrap
-msgid "Mathematical functions:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/cbot.txt:60
-#, no-wrap
-msgid ""
-"grabPicks up an object\n"
-"dropPuts down an object\n"
-"sniffSounds the subsoil\n"
-"thumpOverturns alien insects\n"
-"recycleRecycles a derelict bot\n"
-"shieldExtends or withdraws the shield\n"
-"fireFires the cannon\n"
-"aimRotates the cannon\n"
-"buildBuilds a building\n"
-"canbuildChecks if a building can be built\n"
-"buildingenabledChecks if a building can be built in the level"
-msgstr ""
-
-#. type: Plain text
-#: ../E/cbot.txt:112
-#, no-wrap
-msgid ""
-"randReturns a random value\n"
-"powReturns a power\n"
-"sqrtReturns a square root\n"
-"floorReturns the largest previous integer\n"
-"ceilReturns the smallest following integer\n"
-"roundReturns a rounded number\n"
-"truncReturns a truncated number\n"
-"sinReturns a sine\n"
-"cosReturns a cosine\n"
-"tanReturns a tangent\n"
-"asinReturns an arcus sine\n"
-"acosReturns an arcus cosine\n"
-"atanReturns an arcus tangent\n"
-"atan2Returns an arcus tangent, has two arguments"
-msgstr ""
-
-#. type: \t; header
-#: ../E/cbot.txt:72
-#, no-wrap
-msgid "Instructions specific for some objects:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/cbot.txt:73
-#, no-wrap
-msgid ""
-"factoryStarts construction of a bot\n"
-"researchStarts a research\n"
-"takeoffTakes off a spaceship\n"
-"busyChecks if object is busy"
-msgstr ""
-
-#. type: Plain text
-#: ../E/cbot.txt:54
-#, no-wrap
-msgid ""
-"spaceCalculates a free space\n"
-"flatspaceCalculates a free, flat space\n"
-"topoReturns the altitude of a point\n"
-"flatgroundReturns radius of a flat area"
-msgstr ""
-
#. type: \b; header
#: ../E/battles.txt:1
#, no-wrap
@@ -608,21 +539,15 @@ msgid "Basics of production line"
msgstr ""
#. type: Plain text
-#: ../E/battles.txt:7
+#: ../E/battles.txt:5
#, no-wrap
-msgid "Production line is explained in Missions and Exercises, but you may want to jump into code battles right away without beating the whole game. So here is a brief description of how the things works in Colobot."
+msgid "With the new functions provided in the Gold Edition, you can create a fully automatised base, which does not need any influence from human. All of them are described in the CBOT documentation."
msgstr ""
#. type: Plain text
-#: ../E/battles.txt:41
+#: ../E/battles.txt:7
#, no-wrap
-msgid "Programming, types and categories."
-msgstr ""
-
-#. type: Image filename
-#: ../E/battles.txt:12
-#, no-wrap
-msgid "productionline1"
+msgid "Production line is explained in Missions and Exercises, but you may want to jump into code battles right away without beating the whole game. So here is a brief description of how the things works in Colobot."
msgstr ""
#. type: \t; header
@@ -637,42 +562,18 @@ msgstr ""
msgid "Basically, you want to destroy the opponent. To do that, you will need something lethal, for example, a robot, specifically, a shooter. But you will probably be losing them quite often, so maybe you should keep the production going on. For example, more grabbers or more factories, converters and so on would be helpful in that. Remember that robots needs batteries. Anyway, before you can start, you must also do some researches to get better technologies. And here we are at the beginning, with a single robot and a Titanium."
msgstr ""
+#. type: Image filename
+#: ../E/battles.txt:12
+#, no-wrap
+msgid "productionline1"
+msgstr ""
+
#. type: \t; header
#: ../E/battles.txt:14
#, no-wrap
msgid "Titanium production"
msgstr ""
-#. type: \t; header
-#: ../E/battles.txt:22
-#, no-wrap
-msgid "Researches"
-msgstr ""
-
-#. type: \t; header
-#: ../E/battles.txt:27
-#, no-wrap
-msgid "Robot production"
-msgstr ""
-
-#. type: \t; header
-#: ../E/battles.txt:33
-#, no-wrap
-msgid "Power cell production"
-msgstr ""
-
-#. type: \t; header
-#: ../E/battles.txt:37
-#, no-wrap
-msgid "There is more"
-msgstr ""
-
-#. type: Plain text
-#: ../E/battles.txt:5
-#, no-wrap
-msgid "With the new functions provided in the Gold Edition, you can create a fully automatised base, which does not need any influence from human. All of them are described in the CBOT documentation."
-msgstr ""
-
#. type: Plain text
#: ../E/battles.txt:15
#, no-wrap
@@ -685,6 +586,12 @@ msgid ""
"Repeat steps 3-5 in order to keep your production going."
msgstr ""
+#. type: \t; header
+#: ../E/battles.txt:22
+#, no-wrap
+msgid "Researches"
+msgstr ""
+
#. type: Plain text
#: ../E/battles.txt:23
#, no-wrap
@@ -694,6 +601,12 @@ msgid ""
"3. Request a research and wait until the research center is done."
msgstr ""
+#. type: \t; header
+#: ../E/battles.txt:27
+#, no-wrap
+msgid "Robot production"
+msgstr ""
+
#. type: Plain text
#: ../E/battles.txt:28
#, no-wrap
@@ -704,6 +617,12 @@ msgid ""
"4. Power the robot with a PowerCell."
msgstr ""
+#. type: \t; header
+#: ../E/battles.txt:33
+#, no-wrap
+msgid "Power cell production"
+msgstr ""
+
#. type: Plain text
#: ../E/battles.txt:34
#, no-wrap
@@ -712,12 +631,24 @@ msgid ""
"2. Place a Titanium in it and wait until the power plant is done."
msgstr ""
+#. type: \t; header
+#: ../E/battles.txt:37
+#, no-wrap
+msgid "There is more"
+msgstr ""
+
#. type: Plain text
#: ../E/battles.txt:38
#, no-wrap
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/battles.txt:41
+#, no-wrap
+msgid "Programming, types and categories."
+msgstr ""
+
#. type: Plain text
#: ../E/cbot.txt:15
#, no-wrap
@@ -764,3 +695,72 @@ msgid ""
"canresearchChecks if a technology can be researched\n"
"researchedChecks if a technology is researched"
msgstr ""
+
+#. type: Plain text
+#: ../E/cbot.txt:54
+#, no-wrap
+msgid ""
+"spaceCalculates a free space\n"
+"flatspaceCalculates a free, flat space\n"
+"topoReturns the altitude of a point\n"
+"flatgroundReturns radius of a flat area"
+msgstr ""
+
+#. type: Plain text
+#: ../E/cbot.txt:60
+#, no-wrap
+msgid ""
+"grabPicks up an object\n"
+"dropPuts down an object\n"
+"sniffSounds the subsoil\n"
+"thumpOverturns alien insects\n"
+"recycleRecycles a derelict bot\n"
+"shieldExtends or withdraws the shield\n"
+"fireFires the cannon\n"
+"aimRotates the cannon\n"
+"buildBuilds a building\n"
+"canbuildChecks if a building can be built\n"
+"buildingenabledChecks if a building can be built in the level"
+msgstr ""
+
+#. type: \t; header
+#: ../E/cbot.txt:72
+#, no-wrap
+msgid "Instructions specific for some objects:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/cbot.txt:73
+#, no-wrap
+msgid ""
+"factoryStarts construction of a bot\n"
+"researchStarts a research\n"
+"takeoffTakes off a spaceship\n"
+"busyChecks if object is busy"
+msgstr ""
+
+#. type: \t; header
+#: ../E/cbot.txt:111
+#, no-wrap
+msgid "Mathematical functions:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/cbot.txt:112
+#, no-wrap
+msgid ""
+"randReturns a random value\n"
+"powReturns a power\n"
+"sqrtReturns a square root\n"
+"floorReturns the largest previous integer\n"
+"ceilReturns the smallest following integer\n"
+"roundReturns a rounded number\n"
+"truncReturns a truncated number\n"
+"sinReturns a sine\n"
+"cosReturns a cosine\n"
+"tanReturns a tangent\n"
+"asinReturns an arcus sine\n"
+"acosReturns an arcus cosine\n"
+"atanReturns an arcus tangent\n"
+"atan2Returns an arcus tangent, has two arguments"
+msgstr ""
diff --git a/help/generic/po/ru.po b/help/generic/po/ru.po
index 049a7166..93387571 100644
--- a/help/generic/po/ru.po
+++ b/help/generic/po/ru.po
@@ -491,75 +491,6 @@ msgstr ""
"Хьюстон поздравляет вас от имени всего человечества с успешным выполнением миссии.\n"
"Большое переселение на Терра Нову начнется очень скоро."
-#. type: \t; header
-#: ../E/cbot.txt:111
-#, no-wrap
-msgid "Mathematical functions:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/cbot.txt:60
-#, no-wrap
-msgid ""
-"grabPicks up an object\n"
-"dropPuts down an object\n"
-"sniffSounds the subsoil\n"
-"thumpOverturns alien insects\n"
-"recycleRecycles a derelict bot\n"
-"shieldExtends or withdraws the shield\n"
-"fireFires the cannon\n"
-"aimRotates the cannon\n"
-"buildBuilds a building\n"
-"canbuildChecks if a building can be built\n"
-"buildingenabledChecks if a building can be built in the level"
-msgstr ""
-
-#. type: Plain text
-#: ../E/cbot.txt:112
-#, no-wrap
-msgid ""
-"randReturns a random value\n"
-"powReturns a power\n"
-"sqrtReturns a square root\n"
-"floorReturns the largest previous integer\n"
-"ceilReturns the smallest following integer\n"
-"roundReturns a rounded number\n"
-"truncReturns a truncated number\n"
-"sinReturns a sine\n"
-"cosReturns a cosine\n"
-"tanReturns a tangent\n"
-"asinReturns an arcus sine\n"
-"acosReturns an arcus cosine\n"
-"atanReturns an arcus tangent\n"
-"atan2Returns an arcus tangent, has two arguments"
-msgstr ""
-
-#. type: \t; header
-#: ../E/cbot.txt:72
-#, no-wrap
-msgid "Instructions specific for some objects:"
-msgstr ""
-
-#. type: Plain text
-#: ../E/cbot.txt:73
-#, no-wrap
-msgid ""
-"factoryStarts construction of a bot\n"
-"researchStarts a research\n"
-"takeoffTakes off a spaceship\n"
-"busyChecks if object is busy"
-msgstr ""
-
-#. type: Plain text
-#: ../E/cbot.txt:54
-#, no-wrap
-msgid ""
-"spaceCalculates a free space\n"
-"flatspaceCalculates a free, flat space\n"
-"topoReturns the altitude of a point\n"
-"flatgroundReturns radius of a flat area"
-msgstr ""
-
#. type: \b; header
#: ../E/battles.txt:1
#, no-wrap
@@ -579,21 +510,15 @@ msgid "Basics of production line"
msgstr ""
#. type: Plain text
-#: ../E/battles.txt:7
+#: ../E/battles.txt:5
#, no-wrap
-msgid "Production line is explained in Missions and Exercises, but you may want to jump into code battles right away without beating the whole game. So here is a brief description of how the things works in Colobot."
+msgid "With the new functions provided in the Gold Edition, you can create a fully automatised base, which does not need any influence from human. All of them are described in the CBOT documentation."
msgstr ""
#. type: Plain text
-#: ../E/battles.txt:41
+#: ../E/battles.txt:7
#, no-wrap
-msgid "Programming, types and categories."
-msgstr ""
-
-#. type: Image filename
-#: ../E/battles.txt:12
-#, no-wrap
-msgid "productionline1"
+msgid "Production line is explained in Missions and Exercises, but you may want to jump into code battles right away without beating the whole game. So here is a brief description of how the things works in Colobot."
msgstr ""
#. type: \t; header
@@ -608,42 +533,18 @@ msgstr ""
msgid "Basically, you want to destroy the opponent. To do that, you will need something lethal, for example, a robot, specifically, a shooter. But you will probably be losing them quite often, so maybe you should keep the production going on. For example, more grabbers or more factories, converters and so on would be helpful in that. Remember that robots needs batteries. Anyway, before you can start, you must also do some researches to get better technologies. And here we are at the beginning, with a single robot and a Titanium."
msgstr ""
+#. type: Image filename
+#: ../E/battles.txt:12
+#, no-wrap
+msgid "productionline1"
+msgstr ""
+
#. type: \t; header
#: ../E/battles.txt:14
#, no-wrap
msgid "Titanium production"
msgstr ""
-#. type: \t; header
-#: ../E/battles.txt:22
-#, no-wrap
-msgid "Researches"
-msgstr ""
-
-#. type: \t; header
-#: ../E/battles.txt:27
-#, no-wrap
-msgid "Robot production"
-msgstr ""
-
-#. type: \t; header
-#: ../E/battles.txt:33
-#, no-wrap
-msgid "Power cell production"
-msgstr ""
-
-#. type: \t; header
-#: ../E/battles.txt:37
-#, no-wrap
-msgid "There is more"
-msgstr ""
-
-#. type: Plain text
-#: ../E/battles.txt:5
-#, no-wrap
-msgid "With the new functions provided in the Gold Edition, you can create a fully automatised base, which does not need any influence from human. All of them are described in the CBOT documentation."
-msgstr ""
-
#. type: Plain text
#: ../E/battles.txt:15
#, no-wrap
@@ -656,6 +557,12 @@ msgid ""
"Repeat steps 3-5 in order to keep your production going."
msgstr ""
+#. type: \t; header
+#: ../E/battles.txt:22
+#, no-wrap
+msgid "Researches"
+msgstr ""
+
#. type: Plain text
#: ../E/battles.txt:23
#, no-wrap
@@ -665,6 +572,12 @@ msgid ""
"3. Request a research and wait until the research center is done."
msgstr ""
+#. type: \t; header
+#: ../E/battles.txt:27
+#, no-wrap
+msgid "Robot production"
+msgstr ""
+
#. type: Plain text
#: ../E/battles.txt:28
#, no-wrap
@@ -675,6 +588,12 @@ msgid ""
"4. Power the robot with a PowerCell."
msgstr ""
+#. type: \t; header
+#: ../E/battles.txt:33
+#, no-wrap
+msgid "Power cell production"
+msgstr ""
+
#. type: Plain text
#: ../E/battles.txt:34
#, no-wrap
@@ -683,12 +602,24 @@ msgid ""
"2. Place a Titanium in it and wait until the power plant is done."
msgstr ""
+#. type: \t; header
+#: ../E/battles.txt:37
+#, no-wrap
+msgid "There is more"
+msgstr ""
+
#. type: Plain text
#: ../E/battles.txt:38
#, no-wrap
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/battles.txt:41
+#, no-wrap
+msgid "Programming, types and categories."
+msgstr ""
+
#. type: Plain text
#: ../E/cbot.txt:15
#, no-wrap
@@ -735,3 +666,72 @@ msgid ""
"canresearchChecks if a technology can be researched\n"
"researchedChecks if a technology is researched"
msgstr ""
+
+#. type: Plain text
+#: ../E/cbot.txt:54
+#, no-wrap
+msgid ""
+"spaceCalculates a free space\n"
+"flatspaceCalculates a free, flat space\n"
+"topoReturns the altitude of a point\n"
+"flatgroundReturns radius of a flat area"
+msgstr ""
+
+#. type: Plain text
+#: ../E/cbot.txt:60
+#, no-wrap
+msgid ""
+"grabPicks up an object\n"
+"dropPuts down an object\n"
+"sniffSounds the subsoil\n"
+"thumpOverturns alien insects\n"
+"recycleRecycles a derelict bot\n"
+"shieldExtends or withdraws the shield\n"
+"fireFires the cannon\n"
+"aimRotates the cannon\n"
+"buildBuilds a building\n"
+"canbuildChecks if a building can be built\n"
+"buildingenabledChecks if a building can be built in the level"
+msgstr ""
+
+#. type: \t; header
+#: ../E/cbot.txt:72
+#, no-wrap
+msgid "Instructions specific for some objects:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/cbot.txt:73
+#, no-wrap
+msgid ""
+"factoryStarts construction of a bot\n"
+"researchStarts a research\n"
+"takeoffTakes off a spaceship\n"
+"busyChecks if object is busy"
+msgstr ""
+
+#. type: \t; header
+#: ../E/cbot.txt:111
+#, no-wrap
+msgid "Mathematical functions:"
+msgstr ""
+
+#. type: Plain text
+#: ../E/cbot.txt:112
+#, no-wrap
+msgid ""
+"randReturns a random value\n"
+"powReturns a power\n"
+"sqrtReturns a square root\n"
+"floorReturns the largest previous integer\n"
+"ceilReturns the smallest following integer\n"
+"roundReturns a rounded number\n"
+"truncReturns a truncated number\n"
+"sinReturns a sine\n"
+"cosReturns a cosine\n"
+"tanReturns a tangent\n"
+"asinReturns an arcus sine\n"
+"acosReturns an arcus cosine\n"
+"atanReturns an arcus tangent\n"
+"atan2Returns an arcus tangent, has two arguments"
+msgstr ""