msgid "When controlling the robot through programming, the only way to turn the gun left or right is to turn the whole robot with the instruction <code><a cbot|turn>turn</a></code>."
msgstr "Когда вы управляете своим ботом путем программирования, единственный способ повернуть оружие направо или налево - это повернуть весь бот инструкцией <code><a cbot|turn>turn</a></code>."
msgid "Angle in degrees of the gun relative to the robot. A positive value orients the gun upward. For shooters and orga shooters, the angle must range from <code>-20</code> to <code>+20</code> degrees. For phazer shooters, the angle must range from <code>-20</code> to <code>45</code> degrees."
msgstr "Угол оружия относительно робота, в градусах. Положительное значение ориентирует ружье вперед. Для стрелков и орга-стрелков, угол должен быть от <code>-20</code> до <code>+20</code> градусов. Для фазовый стрелок стрелков, угол должен быть в пределах от <code>-20</code> до <code>45</code> градусов."
msgid "An array is basically a collection of variables of the same type or class. You can use N dimensionnal arrays in the CBOT language. Each dimension is limited to 9999 elements. You must use square brackets <code>[]</code> after the type name or the variable name to declare an array."
msgstr "Массив - это в основном набор переменных того же типа и класса. Вы можете использовать н-ное количество массивов в языке CBOT, однако максимальный размер массива равен 9999 элементов. Вы должны использовать квадратные скобки <code>[]</code> после того, как объявили массив."
msgid "Actually when the CBOT interpreter encounters an array declaration, it just creates a <code><a cbot|null>null</a></code> <a cbot|pointer>reference</a>:"
msgstr "На самом деле, когда компилятор CBOT встречает объявление массива, то он просто создает <code><a cbot|null>null</a></code> <a cbot|pointer>ссылку</a>:"
msgid "After this operation, <code>a</code> contains a reference to the elements of the array. Elements <code>[0]</code> and <code>[1]</code> are created but not initialized because an array cannot contain empty elements. The <code><a cbot|sizeof>sizeof</a></code> instruction allows you to obtain the number of elements contained in an array."
msgstr "После этой операции, <code>a</code> содержит ссылки на элементы массива. Элементы <code>[0]</code> и <code>[1]</code> созданы, однако не инициализированы, т.к. они пусты. Инструкция <code><a cbot|sizeof>sizeof</a></code> позволяет получить число элементов, хранящихся в массиве."
msgid "When an array is declared with a maximum size, the program will stop as soon as there is an access beyond the maximum array size. No error is signalled during compilation even if the error is obvious:"
msgstr "Если массив объявлен с максимальным размером, то программа остановится, как только доступ к нему выйдет за его рамки(т.е. кол-во элементов+N). При компиляции ошибки не возникнет, даже если она очевидна:"
msgid "If you pass an array as parameter to a <a cbot|function>function</a>, the function only receives a <a cbot|pointer>reference</a> to the array. That means if you modify an array element in the function, the element of the array that has been passed the function will be actuallay modified."
msgstr "Если вы передаете <a cbot|function>функции</a> массив в качестве параметра, то функция получает только <a cbot|pointer>ссылку</a> на массив. Это означает, что если вы измение элемент в массиве, то этот элемент будет измененным и в самой функции."
"If the <a cbot|cond>condition</a> is true, instructions 1, 2 and 3 are performed. If the condition is false, only instruction 1 is ignored, instructions 2 and 3 are performed. The fact that instruction 2 is lined up with instruction 1 does not matter. \n"
"If you want to perform instructions 1 and 2 only if the condition is true, you have to bracket them together in a block: "
"Если <a cbot|cond>состояние</a> верно, то инструкции 1, 2 и 3 выполняются. Если состояние не верно, не выполняется только инструкция 1, а инструкции 2 и 3 выполняются. Тот факт, что инструкция 2 стоит в одной линии с инструкцией 1 на ход не влияет.\n"
"Если вы хотите выполнить только инструкции 1 и 2, причем условие выполняется, вам нужно выделить их вместе в одном блоке:"
"Blocks may be needed with instructions <code><a cbot|if>if</a></code>, <code><a cbot|while>while</a></code> and <code><a cbot|for>for</a></code>, in order to group several instructions that should be performed only if a condition is true, or repeated several times. \n"
"You can fit blocks into other blocks, on as many levels as you need. Here is an example of imbrication on two levels :"
"Блоки могут использоваться с инструкциями <code><a cbot|if>if</a></code>, <code><a cbot|while>while</a></code> и <code><a cbot|for>for</a></code>, чтобы сгруппировать отдельные инструкции, которые должны выполняться только если условие выполняется, или повторяется несколько раз.\n"
"Можно включать блоки в другие блоки, на столько уровней насколько нужно. Вот пример включения в скобки на двух уровнях:"
msgid "You had better line up the open brace <code>{</code> with the closing brace <code>}</code> in order to improve readability, but it is not compulsory. The following example takes less space, is equivalent to the previous example, but it is not advisable to write your programs in the following style : "
msgstr "Было бы целесообразнее выравнивать открытую скобку <code>{</code> по закрытой скобке <code>}</code> в целях улучшения читаемости, но это необязательно. Следующий пример занимает меньше места, но эквивалентен предыдущему примеру, однако писать свои программы в подобном стиле не рекомендуется:"
msgid "With this instruction, you can get out immediately of a <code><a cbot|while>while</a></code> or <code><a cbot|for>for</a></code> loop."
msgstr "С помощью этой инструкции, вы можете немедленно выйти из цикла функции <code><a cbot|while>while</a></code> или <code><a cbot|for>for</a></code>."
msgid "Categories represent the names of objects in the CBOT language. Everything in COLOBOT is an object: robots, buildings, raw materials, etc., even yourself."
msgstr "Категории отображают названия обьектов на языке CBOT. В игре COLOBOT все предеты являются обьектами: роботы, здания, сырье, и т.д., даже сам игрок."
msgid "In a program, categories are always displayed on a <format const>red background</format>. If a category isn't highlighted in red, it is misspelled. Caps and lower cases should be kept as is."
msgstr "В самой программе, категории всегда отображаются на <format const>красном фоне</format>. Если категория не выделена красным, она названа не правильно. Заглавные и обычные буквы нужно оставлять как есть."
msgid "Classes can only be <a cbot|public>public</a>, that is they can be used from all bots in a mission. Class members are also public, that is they are accessible from outside the class. Class members can be fields or functions (also called methods), for example the followin class <code>MyClass</code> contains 4 fields (a, b, x and s) and one method (MyFunction)."
msgstr "Классы должны быть <a cbot|public>общедоступными</a>, таким образом они могут быть исползованы всеми ботами в любой миссии. Члены класса также должны быть общедоступными, тоесть должны быть доступны за пределами класса. Членами класса могут быть ячейки и функции (по-другому методы), например следующий класс <code>MyClass</code> содержит 4 ячейки (a, b, x и s) и один метод (MyFunction)."
msgid "As shown in this exemple the class members can be initialized (<code>x=3.33</code>). You can also define a constructor which is a special method having the same name as the class name. This method will be called automatically at creation time of a class instance. You can also declare more than one method with the same name but different parameters."
msgstr "ак показано в данном примере члены класса могут быть инициализированы (<code>x=3.33</code>). Вы можете также определить конструктор, который представляет собой специальный метод, имеющий то же имя, как и имя класса. Этот метод будет вызван автоматически в момент создания экземпляра класса. Вы можете также объявить более одного метода с тем же именем, но с разными параметрами."
msgid "In this example two constructors are declared for <code>MyClass</code>, one without parameters and the other one with two parameters. As the names of the parameters of the second constructor are the same as the names of the two members <code>a</code> et <code>b</code> we must use the <code><a cbot|this>this</a>.a</code> and <code><a cbot|this>this</a>.b</code> to avoid confusion with the parameters. Another more simpler solution would be to give different names to the parameters."
msgstr "В этом примере два конструктора были объявлены как <code>MyClass</code>, один без параметров и второй с двумя параметрами. Поскольку имена параметров второго конструктора такие же, как и имена двух членов <code>a</code> и <code>b</code> мы должны использовать <code><a cbot|this>this</a>.a</code> и <code><a cbot|this>this</a>.b</code> чтобы избежать путаницы с параметрами. Наболее простым решением было бы дать разные имена параметрам."
msgid "You can also define a destructor. This must be a <code>void</code> fonction without parameters that has the same name as the class name but prefixed by the ~ character. The destructor is called automatically as soon as the class instance is no more referenced by anyone."
msgstr "Вы также можете определить деструктор. Это должна быть <code>пустая(void)</code> функция без параметров, имеющая то же имя, что и класс, но с первиксом ~. Деструктор вызывается автоматически, как только класс уже больше никому не понадобится."
msgid "If you pass a class instance as parameter to a <a cbot|function>function</a>, the function only receives a <a cbot|pointer>reference</a> to the instance. That means if you modify the instance in the function, the instance that has been passed to the function will be actuallay modified."
msgstr "If you pass a class instance as parameter to a <a cbot|function>function</a>, the function only receives a <a cbot|pointer>reference</a> to the instance. That means if you modify the instance in the function, the instance that has been passed to the function will be actuallay modified."
msgid "Close a file opened previously with <code><a cbot|open>open</a></code>. This is a method of the <code><a cbot|file>file</a></code> class; therefore you cannot write <code>close()</code> but only <code>handle.close()</code>¦:"
msgstr "Закрывает файл, открытый ранее функцией<code><a cbot|open>open</a></code>. Это метод класса <code><a cbot|file>file</a></code>; поэтому вы не можете записывать <code>close()</code>, только <code>handle.close()</code>¦:"
"A condition is a special <a cbot|expr>expression</a> that returns a <a cbot|bool>boolean</a> value, that can only be either <code><a cbot|true>true</a></code> or <code><a cbot|false>false</a></code>. With a condition, you can choose f. ex. if the instructions in a <code><a cbot|while>while</a></code> loop must be repeated again, or if the instruction in a <code><a cbot|if>if</a></code> bloc must be executed.\n"
"Here are some operators that you can use in conditions to compare two values :"
"Условие - это специальное <a cbot|expr>выражение</a> которое возвращает <a cbot|bool>булевое</a> значение, которое может быть либо <code><a cbot|true>true</a></code> либо <code><a cbot|false>false</a></code>. Имея условия, вы можете выбирать Ф. экс. если инструкции в цикле <code><a cbot|while>while</a></code> должын повторяться снова, или если нужно выполнить инструкцию в блоке <code><a cbot|if>if</a></code>.\n"
"Here are some operators that you can use in conditions to compare two values :"
msgid "With this instruction, you can jump over the rest of instructions in the <code><a cbot|bloc>bloc</a></code> of a <code><a cbot|while>while</a></code> or <code><a cbot|for>for</a></code> loop: The execution will resume at the beginning of the bloc, the next time the loop is repeated."
msgstr "С помощью этой инструкции, вы можете перепрыгивать через все остальные инструкции в <code><a cbot|bloc>блоке</a></code> цикла <code><a cbot|while>while</a></code> или <code><a cbot|for>for</a></code> : Выполнение продолжится с начала блока, в следующий раз цикл будет повторен."
msgid "Files can only be deleted in the files/ folder which is located in the folder where Colobot has been installed. You cannot not delete files that are located elsewhere than in the files/ folder."
msgstr "Файлы и папки могут быть удалены только в той дирректории, в которую была установлена COLOBOT. Вы не можете удалять файлы и папки, находящиеся в другом месте."
msgid "Power of the transmitter, which corresponds to the maximal distance between the sender and the exchange post. If the distance is longer, the information won't be deleted. Default value is 10 metres."
msgstr "Мощность передатчика, определяющая максимальное расстояние до поста. Если пост находится слишком далеко, то информаация не будет удалена. Стандартное значение равно 10 метрам."
msgid "If you write <code>position</code> alone, this gives you the position of the bot that executes the program. If you write the name of a variable followed by <code>.position</code>, this gives you the position of the object described in the variable."
msgstr "Если вы напишете только <code>position</code>, то вы получите только позицию бота, который выполняет программу. Если вы напишете имя переменной, а за ней <code>.position</code>, то это даст вам позицию обьекта, который был обозначен вслед за переменной."
"This instruction allows you to perform several times the instructions inside the <a cbot|bloc>block</a>. The instructions are executed at least once, because the condition is tested only afterwards.\n"
"Be careful not to confuse the instruction <c/>do { } while ( );<n/> with the instruction <code><a cbot|while>while</a> ( ) { }</code>; the latter tests the condition before the instructions in the block are executed. "
"Эта инструкция позволяет несколько раз выполнять инструкции внутри <a cbot|bloc>блока</a>. Инструкции выполняются как минимум один раз, поскольку условие выполняется только потом.\n"
"Не путайте инструкцию <c/>do { } while ( );<n/> с инструкцией <code><a cbot|while>while</a> ( ) { }</code>; последняя проверяет условие до того как выполняются инструкции внутри блока."
msgid "The instructions <code><a cbot|break>break</a></code> and <code><a cbot|continue>continue</a></code> can be useful inside a block following the instruction <code>do { }</code>."
msgstr "Инструкции <code><a cbot|break>break</a></code> и <code><a cbot|continue>continue</a></code> могут пригодиться внутри блока после инструкции <code>do { }</code>."
msgid "The instruction <c/>drop();<n/> instructs the bot to drop whatever the operating arm is carrying on the ground, on the platform of a building or on the power cell location of a bot."
msgstr "Инструкция <c/>drop();<n/> приказывает боту бросить все, что находися в данный момент в рабочей руке, на землю, на платформу здания, или на расположение энергобатарейки бота."
msgid "The instruction <c/>drop();<n/> written in this form drops the object in front of the bot. Here is a short program that grabs an object in front of the bot and drops it 5 meters further:"
msgstr "Инструкция <c/>drop();<n/> написанная таким образом заставит бот бросить обьект прямо перед собой. Ниже приведена короткая программа, в которой бот берет обьект перед собой, и кладет его на землю в пяти метрах от себя:"
"Normally an error stops the program. You can prevent the program from stopping on errors by using the <code><a cbot|errmode>errmode</a>(0)</code> instruction. A value different from zero if an error occurred is then returned by <c/>drop();<n/>.\n"
"Обычно в случае ошибки выполнение программы прекращается. Вы можете сделать так, что в случае ошибки программа не будет останавливаться, для чего используется инструкция <code><a cbot|errmode>errmode</a>(0)</code> . В случае ошибки <c/>drop();<n/> возвращает значение отличное от нуля.\n"
msgid "Test the end of file condition of an open file. This is a method of the <code><a cbot|file>file</a></code> class; therefore you cannot write <code>eof()</code> but only <code>handle.eof()</code>¦:"
msgstr "Проверяет конец открытого файла. Это метод класса <code><a cbot|file>file</a></code>; вы не можете писать <code>eof()</code>, только <code>handle.eof()</code>¦:"
msgid "The <c/>errmode();<n/> instruction allows you to chose if the program should stop when an error occurs in one of the following instructions: <code><a cbot|goto>goto</a></code>, <code><a cbot|move>move</a></code>, <code><a cbot|grab>grab</a></code>, <code><a cbot|drop>drop</a></code>, etc."
msgstr "Инструкция <c/>errmode();<n/> позволяет вам определять, будет ли останавливаться программа в случае возникновения ошибки в одной из следующих инструкций: <code><a cbot|goto>goto</a></code>, <code><a cbot|move>move</a></code>, <code><a cbot|grab>grab</a></code>, <code><a cbot|drop>drop</a></code>, etc."
msgid "Normally the program is stopped when an error occurs. If you use the instruction <c/>errmode(0);<n/> at the beginning of the program, the instructions listed above return a value different from zero if the instruction could not be performed."
msgstr "Обычно в случае ошибки выполнение программы прекращается. Если вы воспользуетесь инструкцией <c/>errmode(0);<n/> в начале программы, инструкции перечисленныен выше возвращают значение отличное от нуля, если инструкцию было невозможно выполенить."
msgid "Multiplications and divisions are performed before additions and subtractions. In order to be sure that the operations are performed in the right order, use brackets: "
msgstr "Умножение и деление выполняется перед сложением и вычитанием. Чтобы убедиться, что операции выполняются в правильном порядке, используйте скобки:"
msgid "The compound-assignment operators combine the <code>=</code> assignment operator with another binary operator such as <code>+</code> or <code>-</code>. Compound-assignment operators perform the operation specified by the additional operator and then assign the result to the left operand. For example, a compound-assignment expression such as "
msgid "The operators <code>++</code> and <code>--</code> allow you to increment (++) or to decrement (--) a variable in very compact and efficient manner."
msgid "The value of the expression <code>a++</code> is the value of the variable <code>a</code> before the increment. If you use the prefix operator <code>++a</code> the value of the expression is the value of the variable <code>a</code> after the increment. The same holds for the <code>--</code> decrement operator."
msgid "The <code>extern</code> instruction determines the <a cbot|function>function</a> that acts as main program of a robot. The name of the function declared with <code>extern</code> will apear in the program list in the lower left corner of the screen."
msgstr "Инструкция <code>extern</code> определяет <a cbot|function>функцию</a>, которая будет основной в программе бота. Имя функции, объявленой с помощью <code>extern</code>. появится в списке ваших программ в левом нижнем углу экрана."
msgid "This value means that a condition is not true; it is one of the two values that a <a cbot|bool>boolean</a> <a cbot|var>variable</a> can take."
msgstr "Это значение оббозначает, что условие не соблюдается; это одно из двух значений, которые могут принимать <a cbot|bool>булевые</a> <a cbot|var>переменные</a> ."
msgid "Use the syntax above for declaring a file handle. You must use () to create an instance of the <code>file</code> class. Without the () the handle would have the value <code><a cbot|null>null</a></code>."
msgstr "Используйте синтаксис для объявления дескриптора файла. Вы должны использовать () для создания класса <code>file</code>. без использования () дескриптор вернет <code><a cbot|null>null</a></code>."
msgid "Files can only be created and opened in the files/ folder which is located in the folder where Colobot has been installed. You cannot not create or open files elsewhere than in the files/ folder."
msgstr "Файлы и папки могут быть открыты или созданы только в папке с установленной игрой COLOBOT. Вы не можете удалять папки за пределами этой дирректории."
msgid "<code>file</code> is actually not a simple type but a class. <code>open</code>, <code>close</code>, <code>writeln</code> etc. are methods of the <code>file</code> class. This is the reason why we always write <code>handle.method()</code>¦:"
msgstr "<code>file</code> на самом деле не просто тип, а класс. <code>open</code>, <code>close</code>, <code>writeln</code> и т.п. - это все методы класса <code>file</code>. Это причина, почему мы всегда пишем <code>handle.method()</code>¦:"
msgid "Fires the gun, with a burst that lasts a certain time. The longer the burst, the more energy it needs. This instruction can be used with the following bot types: "
msgstr "Стреляет из оружия, причем залп продолжается некоторое время. Чем дольше залп, тем больше энергии ему нужно. Эта инструкция может применяться к следующим типам ботов:"
msgid "Use this type for most variables that contains numbers. Variables of this type can contain positive and negative numbers, whole or real numbers, for example: "
msgstr "Используйте этот тип для большинства переменных, содержащих числа. Переменные этого типа могут содержать положительные и отрицательные числа, целые и дробные, ф. экс.:"
msgid "The instructions <code><a cbot|break>break</a></code> and <code><a cbot|continue>continue</a></code> can be useful inside a block following the instruction <code>for </code>."
msgstr "Инструкции <code><a cbot|break>break</a></code> и <code><a cbot|continue>continue</a></code> могут быть полезными внутри блока после инструкции <code>for </code>."
msgid "The most current use consists in moving the bot to an object located with the instruction <c/><a cbot|radar>radar</a>();<n/>. If the information returned by the <c/><a cbot|radar>radar</a>();<n/> has been stored in a certain variable, write the name of the variable followed by <code>.position</code> in order to get the position of the object. Here is an example of a program that looks for a <a object|titan>titanium cube</a>, goes to the position and grabs it:"
msgstr "Самое распространенное использование состоит в том, чтобы переместить бот к обьекту, обнаруженному с помощью инструкции <c/><a cbot|radar>radar</a>();<n/>. Если информация, добытая инструкцией <c/><a cbot|radar>radar</a>();<n/> помещена в определенную переменную, напишите имя этой переменной, а за ним <code>.position</code>, чтобы получить местоположение обьекта. Ниже приведен пример программы, которая ищет <a object|titan>титановый куб</a>, идет в его местоположение и берет его:"
msgid "Flight altitude for <a object|botgj>winged bots</a>. The altitude is useful only for <a object|botgj>winged bots</a>. From the initial altitude, the bot climbs higher until it reaches the specified hight. When arriving close to destination, it goes down to touch the ground at the given position. If no value is given, an altitude of 10 meters is the default value. On very short moves, even winged bot stay on the ground. For all bot except winged bots, this parameter is ignored. "
msgstr "Высота полета для <a object|botgj>летающих ботов</a>. Высота имеет смысл только для <a object|botgj>летающих ботов</a>. От начальной высоты, бот забирается выше, пока не достигнет назначенной высоты. Когда он окажется близко к цели, он спускается и приземляется в назначенном месте. Если значение высоты не задано, по умолчанию принимается значение 10 метров. На очень коротких дистанциях, даже летающий бот останется на земле. Для всех ботов за исключением летающих, этот параметр игнорируется."
"Normally an error stops the program. You can prevent the program from stopping on errors by using the <code><a cbot|errmode>errmode</a>(0)</code> instruction. A value different from zero if an error occurred is then returned by <code>goto()</code>.\n"
"Обычно в случае ошибки программа останавливается. Вы можете приказать программе не останавливаться, с помощью инструкции <code><a cbot|errmode>errmode</a>(0)</code>. Тогда в случае ошибки инструкция <code>goto()</code> возвращает значение отличное от нуля.\n"
msgid "The instruction <c/>grab();<n/> instructs the bot to use the operating arm to grab an object located on the ground, on the platform of a building or on the power cell location of a bot."
msgstr "Инструкция <c/>grab();<n/> приказывает боту использовать рабочую руку для взятия предмета лежащего на земле, на платформе здания или на месте размещения энергобатареи бота."
msgid "The instruction <c/>grab();<n/> written in this form grabs the object located in front of the bot. Here is a short program that grabs an object in front of the bot and drops it 5 meters further:"
msgstr "Инструкция <c/>grab();<n/> написанная в данноц форме, забирает обьект лежащий перед ботом. Вот пример короткой программы, которая забирает предмет, лежащий перед ботом и кладет его на 5 метров дальше:"
"Normally an error stops the program. You can prevent the program from stopping on errors by using the <code><a cbot|errmode>errmode</a>(0)</code> instruction. A value different from zero if an error occurred is then returned by <c/>grab();<n/>.\n"
"Обычно в случае ошибки программа останавливается. Вы можете приказать программе не останавливаться, с помощью инструкции <code><a cbot|errmode>errmode</a>(0)</code>. Тогда в случае ошибки инструкция <code>grab()</code> возвращает значение отличное от нуля.\n"
msgid "With the instruction <code>if() {}</code> you can execute a set of instructions only if a certain condition is true. Write the condition in brackets <code>()</code>, and the instructions in braces <code>{}</code>."
msgstr "Инструкция <code>if() {}</code> выполняет набор инструкций только если выполняется определенное условие. Напишите условие в скобках <code>()</code>, а инструкции в квадратных скобках <code>{}</code>."
msgid "You can also test if an object exists at all. If the instruction <c/><a cbot|radar>radar</a>();<n/> does not find the requested object, it returns the value <code>null</code>. So you can test if an object does not exists with the condition <code>(item == null)</code>, or test if it exists with <code>(item != null)</code>. Two equal signs <code>==</code> test equality, an exclamation mark followed by an equal sign <code>!=</code> test inequality. Here is a test that will go to rechage the <a object|power>power cell</a> only if there is a <a object|station>power station</a>:"
msgstr "Вы также можете проверить, существует ли обьект вообще. Если инструкция <c/><a cbot|radar>radar</a>();<n/> не находит требуемый обьект, она возвращает значение <code>null</code>. Поэтому вы можете проверить наличие обьекта с помощью условия <code>(item == null)</code>, или с помощью <code>(item != null)</code>. Два знака равенства <code>==</code> проверяют равность, знак восклицания, за которым идет знак равенства <code>!=</code> проверяют неравенство. Вот тестовая программа, которая отправит бот на перезарядку <a object|power>энергобатареи</a> только в случае наличия <a object|station>электростанции</a>:"
"With this conditional structure you can execute a <a cbot|bloc>bloc</a> A or a <a cbot|bloc>bloc</a> B depending on a <a cbot|cond>condition</a>. If the condition is true, bloc A is executed. If the condition is false, bloc B is executed. \n"
"Данной условной структурой вы можете выполнить <a cbot|bloc>блок</a> A или <a cbot|bloc>блок</a> B в зависимости от <a cbot|cond>условия</a>. Если условие выполняется, блок A выполняется. Если условие не выполняется, то выполняется блок B.\n"
msgid "Direct control of the jet of a <a object|botgj>winged bot</a>. The jet is what makes the bot fly. Use this instruction in order to take off, climb, descend or land."
msgstr "Прямое управление реактивным двигателем <a object|botgj>крылатого бота</a>. Именно двигатель заставляет бот перемещаться. Используйте эту инструкцию, чтобы подыматься, опускаться или приземляться."
msgid "Power of the jet, ranges between <code>-1</code> and <code>+1</code>. <c/>jet(1);<n/> instructs the bot to climb as fast as possible, <c/>jet(-1);<n/> descends as fast as possible, <c/>jet(0);<n/> stabilizes the altitude. In order to get slower altitude changes, use intermediate values, for example <c/>jet(0.3);<n/>."
msgstr "Сила двигателся, варьируется между <code>-1</code> и <code>+1</code>. <c/>jet(1);<n/> приказывает боту подняться как можно выше, <c/>jet(-1);<n/> опускается как можно быстрее, <c/>jet(0);<n/> стабилизирует высоту. Чтобы изменять высоту медленее, используйте средние значения, наприер <c/>jet(0.3);<n/>."
msgid "The speed given to the motors will remain constant during the execution of the following instructions. Thanks to this characteristic it is possible to perform a rotation during the instruction <c/><a cbot|fire>fire</a>();<n/>. This will sweep a whole zone with only one burst. Here is an example that will sweep the zone in front of the bot:"
msgstr "Указанная моторам скорость будет оставаться постоянной во время выполнения последующих инструкций. Благодаря этой характеристике можно выполнять вращение во время выполнения инструкции <c/><a cbot|fire>fire</a>();<n/>. Это позволит накрыть целую зону местности одной очередью. Вот пример того, как можно накрыть зону перед ботом:"
msgid "With the left-hand motor turning half-speed forward and the right-hand motor turning half-speed backward, the bot will turn slowly on itself during the 2-second-burst."
msgstr "Так как левый двигатель на половине скорости поворачивается вперед, а правый двигатель на половине скорости поворачивается назад, так что бот медленно поворачивается во время 2-секундной очереди."
msgid "Gives speed instructions to the right and left motors of the robot. The motors will keep this speed until a new motor instruction is performed, or until a <code><a cbot|move>move</a></code>, <code><a cbot|turn>turn</a></code> or <code><a cbot|goto>goto</a></code> instruction is performed."
msgstr "Дает инструкции о скорости движения правому и левому двигателям робота. Двигатели будут поддерживать постоянную скорость до тех пор. пока двигателям не будет отдана новая инструкция, или пока не будут отданы инструкции <code><a cbot|move>move</a></code>, <code><a cbot|turn>turn</a></code> или <code><a cbot|goto>goto</a></code>."
msgid "The instruction <c/>move();<n/> instructs the bot to move forward or backward while keeping the same orientation. In brackets you must specify the length of the move in meters."
msgstr "Инструкция <c/>move();<n/> приказывает боту двигаться вперед или назад, придерживаясь той же ориентации. В скобках вы должны указать дальность перемещения в метрах."
msgid "If you want the bot to move forward 30 meters, write <c/>move(30);<n/>. In order to move the bot backward after it dropped a chunk of <a object|titanore>titanium ore</a> on the <a object|convert>converter</a>, write <c/>move(-2.5);<n/>."
msgstr "Если вы хотите, чтобы бот переместился вперед на 30 метро, то напишите <c/>move(30);<n/>. Чтобы отправить бота назад после того, как он бросил кусок <a object|titanore>титаниумовой руды</a> в <a object|convert>преобразователь</a>, напишите <c/>move(-2.5);<n/>."
"Normally an error stops the program. You can prevent the program from stopping on errors by using the <code><a cbot|errmode>errmode</a>(0)</code> instruction. A value different from zero if an error occurred is then returned by <code>move()</code>.\n"
"Обычно ошибка останавливает выполнение программы. Вы можете предотвратить остановку работы программы при появлении ошибок, используя инструкцию <code><a cbot|errmode>errmode</a>(0)</code>. В том случае, если возникла ошибка, <code>move()</code> возвращает значение, отличное от нуля.\n"
"This special value indicates that a <a cbot|var>variable</a> of type <code><a cbot|int>int</a></code> or <code><a cbot|float>float</a></code> contains no number, but \"nothing\". \n"
"For example, if the instruction <code><a cbot|receive>receive</a></code> can not get the requested information, it returns <code>nan</code> :"
"Это особое значение показывает, что <a cbot|var>переменная</a> типа <code><a cbot|int>int</a></code> или <code><a cbot|float>float</a></code> не содержит число, она не содержит \"ничего\".\n"
"Например если инструкция <code><a cbot|receive>receive</a></code> не может получить запрашиваемую информацию, то она возвращает <code>nan</code> :"
msgid "Position of the object on the planet, in meters. The coordinates <code>x</code> and <code>y</code> correspond to the location on a map, the <code>z</code> coordinate corresponds to the altitude above (respectively below) sea level. "
msgstr "Положение объекта на планете в метрах. Координаты <code>x</code> и <code>y</code> соответствуют положению на карте, а координата <code>z</code> соответствует высоте над (и соответственно под) уровнем моря."
msgid "Orientation of the object, in degrees. The orientation tells you what direction the object is facing. An orientation of <code>0</code> corresponds to an object facing eastwards, thus following the positive <code>x</code> axis. The orientation is measured counterclockwise. "
msgstr "Ориентация объекта в градусах. Ориентация говорит вам о том, в каком направлении смотрит объект. Ориентация <code>0</code> соответствует объекту. который смотрит на восток, таким образом следуя положительному направлению оси <code>x</code>. Ориентация измеряется против часовой стрелки."
msgid "Forward/backward angle of the robot. A pitch of <code>0</code> means that the bot is standing on flat ground. A positive inclination means that it is facing upwards, a negative inclination means that it is facing downwards. "
msgstr "Передний/задний угол робота. Уклон равный <code>0</code> означает, что бот стоит на ровно поверхности. Положительный наклон означает, что он смотрит вверх, а отрицательный, что он смотрит вниз."
msgid "Left/right angle of the bot, in degrees. A positive value means that the bot is leaning to the left side, a negative value means that it is leaning to the right side. "
msgstr "Левый/правый угол бота в градусах. Положительное значение значит, что бот наклонен на левый бок, а отрицательное, что он клонится на правый бок."
msgid "Energy level, between 0 and 1. A normal <a object|power>power cell</a> that is fully charged returns the value <code>1</code>. A <a object|atomic>nuclear power cell</a> never returns a value higher than 1, it just lasts longer. Attention: The energy level of a bot is always zero, because the energy is not contained in the bot, but in the power cell. To know the energy level of the power cell of a bot, you must write <code>energyCell.energyLevel</code>. "
msgstr "Уровень энергии может быть от 0 до 1. Обычная <a object|power>энергетическая ячейка</a>, которая полностью заряжена, будет возвращать значение <code>1</code>. <a object|atomic>Ядерная энергетическая ячейка</a> тоже не будет возвращать значение больше 1, просто это значение будет держаться дольше. Внимание: энергетический уровень бота всегда равен нулю, так как энергия содержится не в боте, а в энергетической ячейке. Чтобы определить энергетический уровень энергетической ячейки бота, вы должны написать <code>energyPack.energyLevel</code>."
"Shield level of a robot or building. A level <code>1</code> indicates that the shield is still perfect. Every time that the bot or building gets a bullet or collides with another object, the shield level decreases. When the level reaches <code>0</code>, the next bullet or collision will destroy the bot or building. \n"
"Bots can re-energize their shield on a <a object|repair>repair center</a>. The shield of a building is repaired if it lays inside the protection sphere of a <a object|botshld>shielder</a>."
"Уровень полей робота или здания. Уровень <code>1</code> показывает, что поля превосходны. Каждый раз, когда по боту или зданию попадает пуля или же он сталкивается с другим объектом, уровень полей уменьшается. Когда уровень становится равным <code>0</code>, первая же пуля или столкновение приведут к уничтожению бота или здания.\n"
"Боты могут перезаряжать свои поля в <a object|repair>центре починки</a>. Поля здания восстанавливаются, если оно помещается внутрь защитной сферы <a object|botshld>полевика</a>."
msgid "Temperature of the jet of <a object|botgj>winged bots</a>. <code>0</code> corresponds to a cold jet. When used, the temperature increases progressively. When it reaches the value <code>1</code>, the jet is overheated and stops working, until it cooled down a little. "
msgstr "Температура реактивной струи <a object|botgj>летающих ботов</a>. <code>0</code> соответствует холодной струе. При их использовании температура растет по прогрессии. Когда она достигает значения <code>1</code>, двигатель перенагревается и прекращает работать до тех пор, пока немного не остынет."
msgid "The <code>z</code> coordinate of the position indicates the altitude above sea level, whereas the <code>altitude</code> indicates the height above ground. This value is meaningful only for <a object|botgj>winged bots</a> and for <a object|wasp>wasps</a>. For all other objects, this value is zero. "
msgstr "Координата положения <code>z</code> показывает высоту над уровнем моря, то есть <code>высота</code> показывает высоту над землей. Это значение имеет смысл только для <a object|botgj>летающих ботов</a> и для <a object|wasp>ос</a>. Для всех остальных объектов это значение равно нулю."
"This information is special, because it returns the information about another object, in this case the power pack. This means that energyCell contains all the characteristics of a normal object, for example <code>category</code> (PowerCell or NuclearCell), <code>position</code> (the position of the cell), etc.\n"
"If you want to know the energy level of a robot, you must not check <code>energyLevel</code>, but <code>energyCell.energyLevel</code>.\n"
"If the bot has bot no power cell, <code>energyCell</code> returns <code>null</code>."
"Это особая информация, так как она возвращает информацию о другом объекте, в данном случае о энергетическом заряде. Это означает, что energyPack содержит все характеристики обычного объекта, например <code>категорию</code> (PowerCell или NuclearCell), <code>положение</code> (положение ячейки) и так далее.\n"
"Если вы хотите определить энергетический уровень робота, то вы должны проверить не <code>energyLevel</code>, а <code>energyPack.energyLevel</code>.\n"
"Если у бота нет энергетической ячейки, то <code>energyPack</code> вернет <code>null</code>."
msgid "This information also returns the description of a whole object: the description of the object carried by a <a object|botgr>grabber</a>. If it carries nothing, <code>load</code> returns <code>null</code>."
msgstr "Эта информация также вернет описание целого объекта: описание объекта, который несет <a object|botgr>несущий</a>. Если он ничего не несет, то <code>load</code> вернет <code>null</code>."
msgid "Open a text file in the files/ folder. This is a method of the <code><a cbot|file>file</a></code> class. This is the reason why we always write <code>handle.open()</code>¦:"
msgstr "Открывает текстовой файл. Это метод класса <code><a cbot|file>file</a></code>. Это причина, почему мы всегда пишем <code>handle.open()</code>¦:"
msgid "Files can only be created and opened in the files/ folder which is located in the folder where Colobot has been installed. You cannot not create or open files that are located elsewhere than in the files/ folder."
msgstr "Файлы могут находиться только в папке с установленной игрой."
msgid "<c/>openfile();<n/> opens an text file in the files/ folder. This is not a method of the <code><a cbot|file>file</a></code> class but openfile returne a <a cbot|pointer>reference</a> to a new instance of the file class. You must supply two parameters, the filename and the opening mode."
msgstr "<c/>openfile();<n/> открывает файл. Это не метод класса <code><a cbot|file>file</a></code>, однако openfile возвращает <a cbot|pointer>ссылку</a> для нового экземпляра класса. Вы должны указать два параметра - имя файла и режим открытия."
"Variables of this type contain the coordinates of a point in space. This type is made of three values that represent the <code>x</code>, <code>y</code> and <code>z</code> coordinates.\n"
"<code>x</code> and <code>y</code> correspond to the place on the ground. The positive <code>x</code> axis faces towards east, the positive <code>y</code> axis faces towards north. \n"
"The <code>z</code> value corresponds to the altitude above sea level. "
"Переменные этого типа содержат координаты точки в пространстве. Этот тип состоит из трех значений, которые представляют собой <code>x</code>, <code>y</code> и <code>z</code> координаты.\n"
"<code>x</code> и <code>y</code> соответствуют месту на поверхности. Положительная ось <code>x</code> смотрит на восток, положительная ось <code>y</code> смотрит на север.\n"
"Значение <code>z</code> соответствует высоте над уровнем моря."
msgid "CBOT uses references for <a cbot|class>classes</a> and <a cbot|array>arrays</a>. Any class variable actually contains a reference to the instance. The instance actually contains the class fields. Several references can reference the same instance. A <code><a cbot|null>null</a></code> reference references nothing. You can compare an instance to a suitcase and a reference to a carrier. Each time we need a new suitcase we create a new instance with a carrier. But a suitcase can be carried by more than one carrier. A carrier who carries no suitcase is a <code><a cbot|null>null</a></code> reference."
msgstr "CBOT использует ссылки для <a cbot|class>классов</a> и <a cbot|array>массивов</a>. Любой класс содержит в себе ссылку на данный экземпляр. Экземпляр на самом деле содержит в себе ячейки классов. Некоторые ссылки могут ссылаться на ту же функцию. <code><a cbot|null>null</a></code> ссылка не ссылается ни на что. Например, каждый раз, когда нам нужет новый чемодан, мы создаем новый экземпляр перевозчика. Но чемодан может перевозиться более чем на одном носителе. Перевозчик, не имеющий груза имеет <code><a cbot|null>null</a></code> ссылку."
msgid "If you pass a <a cbot|class>class</a> instance as parameter to a function, the function only receives a reference to the instance. That means if you modify the instance in the function, the instance that has been specified by the caller will be actuallay modified."
msgstr "Если вы передадите функции <a cbot|class>класс</a> как параметр, то функция получит только ссылку на экземпляр. Это означает, что если изменить значение ссылки в функции, то изменение на самом деле произойдет."
msgid "The instance containing the field <code>a = 33</code> is referenced only by the newly created instance <code>item</code> inside the fucntion <code>Test</code>. At the end of <code>Test</code> this newly created instance referenced by <code>item</code> is automatically deleted."
msgstr "Экземпляр, содержащий поле <code>a = 33</code> ссылается на более новый экземпляр <code>item</code> внутри функции <code>Test</code>. В конце функции <code>Test</code> недавно созданная ссылка <code>item</code> будет автоматически удалена."
msgid "<a cbot|class>Class</a> members can be <a cbot|public>public</a> (by default) or private. A member can be declared private by putting <code>private</code> before the type declaration of the member. Private members are not accessible from outside the class definition."
msgstr "Члены <a cbot|class>класса</a> могут быть <a cbot|public>общедоступны</a> (по-умолчанию) или личными. Член может быть объявлен частным, если поставить <code>private</code> до объявления элемента. Личные(локальные) члены не доступны извне для других классов."
msgid "If you put <code>public</code> before a <a cbot|function>function</a> definition, you can make the function available to programs in other bots in the same mission."
msgstr "Еслы вы напишете <code>public</code> перед определением <a cbot|function>функциии</a>, то вы сможете сделать эту программу доступной для других ботов."
msgid "If you have declared a function <code>public</code>, you cannot define a function with the same name and arguments in another bot of the same mission."
msgstr "Если вы объявили функцию <code>общедоступной</code>, то вы сможете использовать ее в других миссиях."
msgid "<a cbot|class>Class</a> members can be public (by default) or <a cbot|private>privat</a>. A member can be declared private by putting <code>private</code> before the member type. Private members are not accessible from outside the class definition."
msgstr "Член <a cbot|class>класса</a> может быть общедоступен (по-умолчанию) или <a cbot|private>быть личным</a>. Член может быть объявлен локальным с помощью <code>private</code>, написав это перед самим членом. Закрытые члены будут недоступны извне для других классов."
msgid "With the instruction <code>radar()</code>, you can look for objects like <a object|mother>enemies</a>, bots, buildings or raw materials."
msgstr "С помощью инструкции <code>radar()</code> вы можете следить за такими объектами как <a object|mother>враги</a>, боты, здания или природные ископаемые."
msgid "Write in brackets the <a cbot|category>name of the object</a> that you look for. Put the result in a variable of the <a cbot|type>type</a> <code>object</code>. Here is an example that looks for the closest ant:"
msgstr "В скобках напишите <a cbot|category>название объекта</a>, который вы ищете. Поместите результат в переменную <a cbot|type>типа</a> <code>объекта</code>. Вот пример поиска ближайшего муравья:"
msgid "Minimum detection distance, in meters. Objects that are closer than the minimum distance will not be detected. "
msgstr "Минимальное расстояние обнаружения в метрах. Объекты, которые находятся на расстояниях меньших, чем минимальное расстояние, обнаружены не будут."
msgid "Maximum detection distance, in meters. Objects that are farther away than the maximum distance will not be detected. "
msgstr "Максимальное расстояние обнаружения в метрах. Объекты, которые находятся на расстояниях, больше максимального расстояния, обнаружены не будут."
msgid "Determines which way the objects are detected. With value <code>1</code>, returns the closest object found in the specified zone. With value <code>-1</code>, the farthest object in the zone will be returned. "
msgstr "Определяет каким образом будут обнаруживаться объекты. Если его значение <code>1</code>, то будет возвращен ближайший объект в указанной зоне. Если значение <code>-1</code>, то будет возвращен самый дальний объект в зоне обнаружения."
msgid "Returns the first object found that corresponds to the specified category in the specified zone. If no object was found, returns the value <code><a cbot|null>null</a></code>."
msgstr "Возвращает первый найденный объект, который соответствует указанной категории в указанной зоне. Если объект найден не был, то возвращается значение <code><a cbot|null>null</a></code>."
msgid "Read one line from an open file in the files/ folder. This is a method of the <code><a cbot|file>file</a></code> class. This is the reason why we always write <code>handle.readln()</code>¦:"
msgstr "Читает одну строку из файла. это метод класса <code><a cbot|file>file</a></code>. Это причина, почему мы всегда пишем <code>handle.readln()</code>¦:"
msgid "The file must have been opened for reading (<code>\"r\"</code>) with the <code><a cbot|open>open</a></code> instruction. <code>readln</code> returns the string containing the whole line but without the end of line characters 0x0D (CR) and 0x0A (LF)."
msgstr "Файл должен быть октрыть на чтение (<code>\"r\"</code>) с помощью инструкции <code><a cbot|open>open</a></code>. <code>readln</code> возвращает строку, содержащую линию, но юез символа конца линии 0x0D (CR) и 0x0A (LF)."
msgid "Power of the receiver, which corresponds to maximal distance between the receiver and the exchange post. If the distance is longer, no information is received. Default value is 10 metres."
msgid "Value of the retrieved information. If no exchange post is close enough, or if the name of the requested information does not exist in the exchange post, the value <code>nan</code> is returned."
msgstr "Значение полученной информации. Если вблизи нет ни одного поста обмена, или на посте обмена нет вида запрошенной информации, то возвращается значение <code>nan</code>."
msgid "Object corresponding to the number. The return value <code><a cbot|null>null</a></code> means that no object corresponds to this number, because the number was too high, and there are not so many objects in the scene. "
msgstr "Объект соответствует числу. Если возвращаемое значение <code><a cbot|null>null</a></code>, то это означает, что этому числу не соответствует никакой объект, так как число слишком велико и на сцене нет такого количества объектов."
msgid "Characteristics of the object that has been found. The value <code><a cbot|null>null</a></code> means that no object of this category has been found. "
msgstr "Характеристики объекта, который был найден. Значение <code><a cbot|null>null</a></code> означает, что объект этой категории найден не был."
"Name of the information to be sent to the exchange post. This name is a string: it must be written in quotation marks \"¦\".\n"
"If there is any information having this name, a new entry is created, as far as the total number of entries does not exceed 10. If there is already an information having this name, value is simply replaced by the new."
"Название информации, которая будет отправлена на пост обмена. Имя - это строка: она должна быть написана в кавычках \"¦\".\n"
"Если есть информация с таким же названием, то новая запись будет создана, также общее количество записей не должно превышать 10. Если же такое же имя уже имеет информацию, то оно будет перезаписано."
msgid "Activates or deactivates the shield of the <a object|botshld>ahielder</a>. You can of course move the shielder when the shield is active. It protects all objects that are inside the shielded sphere from enemy fire. The radius of the sphere can range between 10 and 25 meters."
msgstr "Активизирует или деактивизирует поля <a object|botshld>полевика</a>. Вы можете конечно передвигать полевика при активных щитах. Оно защищает от вражеского огня все объекты, которые находятся в сфере поля. Радиус сферы может меняться от 10 до 25 метров."
"A normal <a object|power>power cell</a> fully charged can maintain the shield active during 20 seconds. When the cell is empty, the shield deactivates."
"Обычная полностью заряженная <a object|power>энергетическая ячейка</a> может поддерживать поля на протяжении 20 секунд. Когда энергия заканчивается, поле снимается."
msgid "In this example we have 6 elements in the array after <code>a[5]=345</code>. The non initialized elements <code>[0]</code>, <code>[1]</code>, <code>[2]</code>, <code>[3]</code> and <code>[4]</code> will be counted."
msgstr "В этом примере у нас есть 6 элементов в массиве после <code>a[5]=345</code>. Не инициализированные элементы - <code>[0]</code>, <code>[1]</code>, <code>[2]</code>, <code>[3]</code> и <code>[4]</code> будут посчитаны."
msgid "Sounds the underground in front of the <a object|botsr>sniffer</a>. According to what raw materials were detected, the following objects will be created: "
msgstr "Проверяет землю перед <a object|botsr>проверяющим</a>. В зависимости от того, какие были обнаружены природные ископаемые, будут созданы следующие объекты:"
msgid "<code>Static</code> members can be declared <code><a cbot|private>private</a></code> so they will be only acessible from within class members (including constructors and destructors)."
msgstr "<code>Статичные</code> члены могут быть объявлены как <code><a cbot|private>private</a></code>, таким образов они будут доступны только внутри членов класса (including constructors and destructors)."
msgid "Convert a string to a number. Don't confuse the string <code>\"45\"</code> that contains actually the two characters <code>4</code> and <code>5</code> and the number <code>45</code>."
msgstr "Преобразует строку в число. Не путайте строку <code>\"45\"</code>, которая содержит в себе на самом деле два символа - <code>4</code> и <code>5</code>, и число <code>45</code>."
msgid "A <a cbot|class>class</a> method can be declared <code>synchronized</code>. This is to make sure that the method is never being executed by more than one bot at the same time."
msgstr "Метод <a cbot|class>класса</a> может быть объявлен с помощью <code>synchronized</code>. Данный метод помогает убедиться в том, что какая-либо функция никогда не выполняется более чем одним ботом."
"What happens if two bots execute the <code>inc</code> method at the same time¦?\n"
"Both of them will execute <code>val=nb</code> and wait 2 seconds so both of them will have <code>val=33</code>. With <code>synchronized</code> the first bot starts execution with <code>val=33</code> and then waits 2 seconds and returns. Only once the first bot has returned from the <code>inc</code> method, the second bot will be allowed to enter the <code>inc</code> method and therefore the second bot will always have <code>val=34</code>."
"Что произойдет. если два боту будут выполнять метод <code>inc</code> в одно время¦?\n"
"Оба она будут выполнять <code>val=nb</code> и ждать две секунды, так что один из них будет иметь <code>val=33</code>. С помощью <code>synchronized</code> первый бот начнет выполнение с <code>val=33</code> и подождет 2 секунды, а затем вернет значение. Только после того, как первый бот вернет значение из метода <code>inc</code>, второй бот начнет выполнять метод <code>inc</code> и, следовательно, второй бот будет всегда иметь <code>val=34</code>."
msgid "You can have more than one synchronized method in your <a cbot|class>class</a> in order to prevent simultaneous execution across more than one method. In other words: as long as a bot's program is inside a synchronized method, no other bot can enter any synchronized method of the same class."
msgstr "Вы можете иметь больше синхронизаций <a cbot|class>классов</a> для того, чтобы предотвратить выполнение одного метода более чем одним ботом. Другими словами: до тех пор, пока один бот не закончит работу, другие боты не смогут выполнить этот класс."
msgid "Do not use a semicolon either immediately after the instructions <code><a cbot|while>while</a></code>, <code><a cbot|if>if</a></code> or <code><a cbot|for>for</a></code>:"
msgstr "Также не используйте точку с запятой сразу же после инструкций <code><a cbot|while>while</a></code>, <code><a cbot|if>if</a></code> и <code><a cbot|for>for</a></code>:"
msgid "An instruction is always ended by a semicolon, and not by the end of the line. So you can very well put several instructions on the same line: "
msgstr "Инструкции всегда заканчиваются точкой с запятой, а не концом строки. Поэтому вы можете спокойно поместить в одну строку несколько инструкций:"
msgid "Power of the transmitter, which corresponds to the maximal distance between the transmitter and the exchange post. If the distance is longer, the function returns <code>false</code>. Default value is 10 metres."
msgstr "Мощность передатчика, которая соответствует максимальному расстоянию между передатчиком и постом. Если дистанция большая, то функция вернет <code>false(ложь)</code>. Стандартное значение 10 метров."
msgid "Return <code>true</code> if the information exists. Return and <code>false</code> if the information does not exist or if the receiver is too far away from the exchange post."
msgstr "Возвращает <code>true(правда)</code>, если информация существует. Возвращает <code>false</code>, если пост слишком далеко или на нем не записана такая информация.."
msgid "Occasionally, a <a cbot|class>class</a> method needs to know the reference to the instance it is acting upon. For example the instance might want to pass it's own reference to another function. An implicit reference name <code>this</code> is available to methods and <code>this</code> is a reference to the current instance."
msgstr "Иногда, методы <a cbot|class>класса</a> должны знать ссылку уже действующего экземпляра. Например, экземпляр, возможно, захочет передать свои ссылки другой функции. Неявное имя ссылки <code>this</code> доступно для методов, а также <code>this</code> это ссылка на текущий экземпляр."
msgid "You can also put <code>this</code> before a field name in a method but this is not necessary. In the example above in the method <code>MyFunction()</code> following two lines have strictly the same meaning:"
msgstr "Вы можете написать <code>this</code> перед методом, но в этом нет необходимости. В приведенном ниже примере мы видим две строго одинаковых строки:"
msgid "However if a field name is hidden by a parameter declaration or a variable declaration you must use <code>this</code>. In the following example the name <code>value</code> of the parameter is the same as the name of the field <code>value</code> of the <a cbot|class>class</a> <code>MyClass</code>, we must therefore write <code>this.value</code> in order to distinguish the field from the parameter."
msgstr "Однако, если имя поля неизвестно, то объявление параметра или переменной необходимо использовать вместе с <code>this</code>. В следущем примере имя параметра <code>value</code> такое же, как и имя поля <code>value</code> <a cbot|class>класса</a> <code>MyClass</code>, поэтому мы должны написать <code>this.value</code> для того, чтобы отличить поле от параметра."
msgid "Activates the weapon system of the <a object|bottump>thumper</a>, that turns ants and spiders belly up and makes them completely harmless for a while."
msgstr "Активизирует системы вооружения <a object|bottump>тампера</a>, которые заставляют мучиться пауков и муравьев, что делает их на некоторое время совершенно безвредными."
msgid "Returns the altitude of the ground at a give position. The altitude zero corresponds to sea level. A negative value indicates that at this position ground is covered with water. "
msgstr "Возвращает высоту земли в указанной точке. Высота, равная нулю, соответствует уровню моря. Отрицательное значение показывает, что к этой точке земля покрыта водой."
msgid "This value means that a condition is true; it is one of the two values that a <a cbot|bool>boolean</a> <a cbot|var>variable</a> can take."
msgstr "Это значение означает, что условие выполняется; это одно из двух значений, которые может принимать <a cbot|bool>булевая</a> <a cbot|var>переменная</a>."
msgid "90 degreed means a quarter turn, 180 degrees means a half turn. A positive angle will perform a counterclockwise rotation, a negative angle means a clockwise rotation. Here are some examples with <c/>turn();<n/>:"
msgstr "90 градусов означают поворот на четверть круга, 180 означают поворот на половину круга. Положительный угол приведет к вращению против часовой стрелки, а отрицательный угол приведет к вращению по часовой стрелке. Вот несколько примеров использования <c/>turn();<n/>:"
msgid "In order to turn the bot towards an object found with the instruction <c/><a cbot|radar>radar</a>();<n/>, you must calculate the rotation angle with the instruction <code><a cbot|direct>direction</a>()</code>:"
msgstr "Для того, чтобы повернуть бота в направлении объекта, который был обнаружен с помощью инструкции <c/><a cbot|radar>radar</a>();<n/>, вы должны вычислить угол поворота с помощью инструкции <code><a cbot|direct>direction</a>()</code>:"
msgid "Angle of the required rotation, in degrees. A positive value turns left, a negative value turns right. <code>turn(180)</code> turns round completely. "
msgstr "Угол требуемого поворота в градусах. Положительное значение означает поворот налево, а отрицательное направо. <code>turn(180)</code> повернет вас на половину круга."
msgid "Once you defined a variable, you can use it to put information in it. However, the information that a variable can contain must always be of the correct type: a variable of type <a cbot|float>float</a> can not contain a string, etc."
msgstr "После того, как вы определили переменную, вы можете использовать ее для хранения информации. Тем не менее информация, которую может хранить переменная, должна быть правильного типа: переменная типа <a cbot|float>float</a> не может содержать и так далее."
msgid "In a program, the name of a type is always written on <format type>green background</format>. If the name of a type is not colored, this means that the name is misspelled. Type names are always written with lower case characters. Here is a list of the different types: "
msgstr "В программе имя типа всегда пишется на <format type>зеленом фоне</format>. Если имя типа не окрашено, то это означает, что оно неправильно написано. Имя типа всегда пишется маленькими буквами. Вот список различных типов:"
msgid "For example, you can use a variable to count the number of titanium ore units that the grabber has collected and carried to the converter. First, you must find a name for it: the name should not be too long, but explain by itself what the variable is used for. Let's call it <code>countTit</code>. This variable must contain only whole numbers, so choose the type <code>int</code>. At the beginning of the program, you must declare the variable. Then you put the value <code>0</code> into the variable, and every time you grab a titanium ore, you increase the variable by <code>1</code>. At every moment, the variable contains the number of titanium ore units that the grabber collected."
msgstr "Например вы можете использовать переменную для того, чтобы сосчитать количество единиц титановой руды, которое сборщик собрал и отнес в переработчик. Вначале вы должны придумать для нее имя: имя должно быть не очень длинным и при этом говорить о том, для чего используется эта переменная. Давайте назовем ее <code>countTit</code>. Эта переменная может содержать только целые числа, поэтому выберем тип <code>int</code>. Переменную нужно объявить в начале программы. Затем нужно сохранить в переменной значение <code>0</code> и каждый раз, когда вы будете подбирать титановую руду, увеличивать ее значение на <code>1</code>. В каждый момент времени переменная будет содержать количество единиц титановой руды, которую собрал сборщик."
"You have much freedom in the choice of the name for a variable, you can call them by any name, f. ex.: <code>dist</code>, <code>direct</code>, <code>p2</code>, <code>a</code>, <code>x</code>, <code>nothing_2_shoot_at</code>, etc.\n"
"A variable name must always begin with a letter. It can be followed by any combination of letters, digits or the underscore character <code>_</code>. You can of course not use the keywords of the CBOT language like <code><a cbot|for>for</a></code>, <code><a cbot|while>while</a></code>, <code><a cbot|break>break</a></code>, <code><a cbot|continue>continue</a></code>, <code>do</code>, etc.\n"
"You should be careful about the choice of the names that you give to variables; writing a program can become very difficult if you forget the names of variables or if you do not remember what they are used for. Elaborate your own system to find variable names, and do not use names like <code>Bmo45</code>, <code>a</code> or <code>tgBinX</code>."
msgstr ""
"В выборе имени для переменной у вас есть довольно много возможностей, вы можете называть их как угодно, например: <code>dist</code>, <code>direct</code>, <code>p2</code>, <code>a</code>, <code>x</code>, <code>nothing_2_shoot_at</code> и так далее.\n"
"Имя всегда должно начинаться с латинской буквы. За ней может следовать любая комбинация латинских букв, символов или символа подчеркивания <code>_</code>. Вы конечно не можете использовать для их названий ключевые слова языка CBOT, как например <code><a cbot|for>for</a></code>, <code><a cbot|while>while</a></code>, <code><a cbot|break>break</a></code>, <code><a cbot|continue>continue</a></code>, <code>do</code> и так далее.\n"
"При выборе имен для переменных вы должны быть осторожны; написание программы может стать очень сложным, если вы забудете имена переменных или если вы не сможете вспомнить для чего они используются. Разработайте свою собственную систему для придумывания имен переменных, но не используйте такие имена как <code>Bmo45</code>, <code>a</code> или <code>tgBinX</code>."
msgid "In the example above, the keyword <code>int</code> indicates that this variable can contain only whole numbers, which is adequate to counting objects. If you want to measure a distance, better use a variable that can contain also real numbers, with a fractional part (like 3.45 or 0.034): in this case, use the type <code>float</code>."
msgstr "В приведенном выше примере ключевое слово <code>int</code> показывает, что эта переменная может содержать только целые числа, которые соответствуют подсчитываемым объектам. Если вы хотите измерить расстояние, то лучше используйте переменную, которая может содержать и дробные числа с дробной частью (например 3.45 или 0.034): в этом случае используйте тип <code>float</code>."
"The <a cbot|type>type</a> determines what kind of information the variable can contain. According to the type, a variable can contain a whole number, a real number, a string, the coordinates of a point, information about an object, etc. \n"
"<a cbot|type>Тип</a> определяет какой вид информации может содержать переменная. В зависимости от типа переменная может содержать целое число, дробное число, строку, координаты точки, информацию об объекте и так далее.\n"
"When you assign a value to a variable with the equals sign <code>=</code>, the value on the right side is copied into the value on the left side. Consider the following example: \n"
"Когда вы присваиваете значение переменной с помощью знака равенства <code>=</code>, значение с правой стороны копируется в переменную с левой стороны. Изучите следующий пример:\n"
"If you want to exchange the values of two variables, you must use a third variable. Here is an example to exchange the content of two variables <code>a</code> and <code>b</code> :\n"
"Если вы хотите поменять местами значения двух переменных, то вы должны использовать третью переменную. Вот пример обмена содержимого двух переменных, <code>a</code> и <code>b</code> :\n"
msgid "In order to wait until the <a object|power>power cell</a> is recharged on a power station, wait 5 seconds with <c/>wait(5);<n/>."
msgstr "Для того, чтобы подождать, пока на энергетической станции зарядится <a object|power>энергетическая ячейка</a>, подождите 5 секунд с помощью команды <c/>wait(5);<n/>."
msgid "In order to wait until the <a object|convert>converter</a> finished transforming some <a object|titanore>titanium ore</a> in a <a object|titan>titanium cube</a>, wait 15 seconds with <c/>wait(15);<n/>."
msgstr "Чтобы подождать, пока <a object|convert>преобразователь</a> закончит преобразовывать <a object|titanore>титановую руду</a> в <a object|titan>титановый куб</a>, подождите 15 секунд с помощью команды <c/>wait(15);<n/>."
msgid "The most frequent use of <code>while</code> consists in repeating a set of instructions again and again. In order to achieve this, write <code>while (true) {}</code> and put the instructions to be repeated in braces <code>{}</code>. As an example, here is a program that repeats again and again the following actions:"
msgstr "Наиболее часто <code>while</code> используется для того, чтобы снова и снова повторять набор инструкций. Для того, чтобы добиться этого, напишите <code>while (true) {}</code> и впишите инструкции, которые нужно повторять, в скобки <code>{}</code>. Как пример здесь представлена программа, которая снова и снова повторяет следующие действия:"
msgid "Be careful not to confuse the instruction <code>while( ) { }</code> with the instruction <c/><a cbot|do>do</a> { } while( );<n/>; the latter tests the condition only after the instructions in the block have been performed a first time. "
msgstr "Будьте внимательны и не путайте инструкцию <code>while( ) { }</code> с инструкцией <c/><a cbot|do>do</a> { } while( );<n/>; последняя проверяет условие только после того, как инструкции внутри блока были один раз выполнены."
msgid "The instructions <code><a cbot|break>break</a></code> and <code><a cbot|continue>continue</a></code> can be useful inside a block following the instruction <code>while { }</code>."
msgstr "Внутри блока, следующего за инструкцией <code>while { }<a cbot|break> могут быть полезны инструкции </a></code>break<code><a cbot|continue> и </a></code>continue<code></code>."
msgid "Write one line of text to an open file in the files/ folder. This is a method of the <code><a cbot|file>file</a></code> class. This is the reason why we always write <code>handle.writeln()</code>¦:"
msgstr "Написать одну строку текаста в файл. Это метод класса <code><a cbot|file>file</a></code>. Это причина, по которой мы пишем так - <code>handle.writeln()</code>¦:"
msgid "The file must have been opened for writing (<code>\"w\"</code>) with the <code><a cbot|open>open</a></code> instruction. The line will automatically be terminated by the end of line characters 0x0D (CR) and 0x0A (LF)."
msgstr "Файл должен быть открыт для записи (<code>\"w\"</code>) с помощью инструкции <code><a cbot|open>open</a></code>. Линия автоматически заканчивается сиволами 0x0D (CR) и 0x0A (LF)."
"Normally an error stops the program. You can prevent the program from stopping on errors by using the <code><a cbot|errmode>errmode</a>(0)</code> instruction. A value different from zero if an error occurred is then returned by <code>build()</code>.\n"
"<code>== 0 </code>Successfully built\n"
"<code>!= 0 </code>Impossible to build (for example, the nearest titanium cube is too far away or the specified building is not available in the mission)"
msgid "Here is an example of a program that looks for the nearest <a object|titan>titanium cube</a>, goes to the position and builds a <a object|factory>bot factory</a>."
msgid "This command is mostly useful in an attempt to build a fully automatised base, where an <a object|human>astronaut</a> does not need to do anything except starting a program and watching bots working. What is more, it makes beating the game by using only programming a possible task (however, it is a challenge rather for experienced gamers, who beat the whole game at least once)."
msgid "When controlling the robot through programming, the gun can be also turned left or right by turning the whole robot with the instruction <code><a cbot|turn>turn</a></code>."
msgid "The instruction <c/>build();<n/> instructs the bot to build a building of the given <a cbot|category>category</a>. Currently works for <a object|botgc>Grabbers</a>, <a object|human>Me</a> and <a object|tech>Tech</a>."
msgstr ""
#. type: Plain text
#: ../E/buildingenabled.txt:5
#, no-wrap
msgid "It is similar to the <c/><a cbot|canbuild>canbuild();</a><n/> instruction. However, it does not check if a required research has been done."
msgstr ""
#. type: Plain text
#: ../E/canbuild.txt:2
#, no-wrap
msgid "The instruction <c/>canbuild();<n/> lets you know if <a object|botgc>Grabbers</a>, <a object|human>Me</a> or <a object|human>Tech</a> can build a building of the given <a cbot|category>category</a>. "
msgstr ""
#. type: Plain text
#: ../E/canbuild.txt:5
#, no-wrap
msgid "It helps to prevent errors in programs using the <c/><a cbot|build>build();</a><n/> instruction. Here is an example:"
msgid "Arcus tangent (in degrees) of <code>y/x</code>."
msgstr ""
#. type: Plain text
#: ../E/atan2.txt:5
#, no-wrap
msgid "The purpose of using two arguments instead of one is to gather information on the signs of the inputs in order to return the appropriate quadrant of the computed angle, which is not possible for the single-argument <c/><a cbot|atan>atan();</a><n/> function. For example, consider a point <code>(-1, -1)</code>: <c/>atan(-1/-1);<n/> is <code>45.00</code> degrees, whereas <c/>atan2(-1, -1);<n/> is <code>-135.00</code> degrees, which is obviously more correct in this case."
msgstr ""
#. type: \b; header
#: ../E/ceil.txt:1
#, no-wrap
msgid "Instruction <code>ceil</code>"
msgstr ""
#. type: Source code
#: ../E/ceil.txt:3
#, no-wrap
msgid "<c/>ceil ( value );<n/>"
msgstr ""
#. type: Plain text
#: ../E/floor.txt:4
#, no-wrap
msgid "Rounds down a number."
msgstr ""
#. type: Plain text
#: ../E/ceil.txt:10
#, no-wrap
msgid "Ceiling of the value, i.e. the smallest integer not less than <code>value</code>. For example, <code>ceil(2.1)</code> is <code>3.0</code>."
msgid "Truncation is a method of approximating a decimal number by dropping all decimal places past a certain point without rounding. For positive numbers, it works like the <c/><a cbot|floor>floor();</a><n/> function, and for negative numbers, it works like the <c/><a cbot|ceil>ceil();</a><n/> function. It can be said that it rounds towards zero."
msgstr ""
#. type: Plain text
#: ../E/aim.txt:16
#, no-wrap
msgid "Angle in degrees of the gun relative to the robot. A positive value orients the gun to the right. The angle must range from <code>-40</code> to <code>+40</code> degrees for all shooters."
msgid "Function, simply put, is an instruction created by you."
msgstr ""
#. type: \b; header
#: ../E/function.txt:4
#, no-wrap
msgid "Main function"
msgstr ""
#. type: Plain text
#: ../E/function.txt:5
#, no-wrap
msgid "You probably already know how to create a function. Every program in CBOT must have a main function, which looks like this:"
msgstr ""
#. type: Source code
#: ../E/function.txt:7
#, no-wrap
msgid ""
"extern void object::ProgramName()\n"
"{\n"
"\t\n"
"\t// instructions\n"
"\t\n"
"}"
msgstr ""
#. type: Plain text
#: ../E/function.txt:17
#, no-wrap
msgid "With functions you can divide your program into several parts. Each of them will execute a specific task. For example, see the following program:"
msgstr ""
#. type: Source code
#: ../E/function.txt:19
#, no-wrap
msgid ""
"extern void object::Remote()\n"
"{\n"
"\tsend(\"order\", 1, 100);\n"
"\twait(5);\n"
"\tsend(\"order\", 3, 100);\n"
"\twait(5);\n"
"\tsend(\"order\", 2, 100);\n"
"\twait(5);\n"
"\tsend(\"order\", 4, 100);\n"
"\twait(5);\n"
"}"
msgstr ""
#. type: Plain text
#: ../E/function.txt:31
#, no-wrap
msgid "<code><a cbot|send>send</a></code> and <code><a cbot|wait>wait</a></code> are repeated several times. So it would be a good thing if we created a function that executes these two instructions:"
msgstr ""
#. type: Source code
#: ../E/function.txt:33
#, no-wrap
msgid ""
"void SendToPost(float op)\n"
"{\n"
"\tsend(\"order\", op, 100);\n"
"\twait(5);\n"
"}\n"
"\n"
"extern void object::Remote()\n"
"{\n"
"\tSendToPost(1);\n"
"\tSendToPost(3);\n"
"\tSendToPost(2);\n"
"\tSendToPost(4);\n"
"}"
msgstr ""
#. type: \b; header
#: ../E/function.txt:49
#, no-wrap
msgid "Syntax"
msgstr ""
#. type: \t; header
#: ../E/function.txt:58
#, no-wrap
msgid "Parameters"
msgstr ""
#. type: Plain text
#: ../E/function.txt:59
#, no-wrap
msgid "A function can have parameters:"
msgstr ""
#. type: Plain text
#: ../E/function.txt:68
#, no-wrap
msgid "The <code>Example</code> function will receive an <a cbot|int>integer</a> <code>a</code>, a <a cbot|float>floating point number</a> <code>x</code> and a <a cbot|string>string</a> <code>s</code>. Parameters are \"passed by value\", that is the values of parameter variables in a function are copies of the values the caller specified as variables. If you pass an <code><a cbot|int>int</a></code> to a function, its parameter is a copy of whatever value was being passed as the argument, and the function can change its parameter value without affecting values in the code that invoked the function."
msgstr ""
#. type: Plain text
#: ../E/function.txt:70
#, no-wrap
msgid "If you pass a <a cbot|class>class</a> instance or an <a cbot|array>array</a> as parameter to a function, the function only receives a <a cbot|pointer>reference</a> to the instance or the array. That means if you modify the instance or the array in the function, the instance or the array that has been specified by the caller will be actually modified."
msgstr ""
#. type: \t; header
#: ../E/function.txt:72
#, no-wrap
msgid "Result"
msgstr ""
#. type: Plain text
#: ../E/function.txt:73
#, no-wrap
msgid "A function can also return a result with the <code><a cbot|return>return</a></code> instruction. Therefore the function must be declared no longer as <code><a cbot|void>void</a></code> but as an other <a cbot|type>type</a>:"
msgstr ""
#. type: Source code
#: ../E/function.txt:75
#, no-wrap
msgid ""
"float Average(float a, float b)\n"
"{\n"
"\treturn (a+b)/2;\n"
"}\n"
"\n"
"extern void object::Test( )\n"
"{\n"
"\tfloat value;\n"
"\tvalue = Average(2, 6);\n"
"\tmessage(value); // will display 4\n"
"}"
msgstr ""
#. type: Plain text
#: ../E/function.txt:87
#, no-wrap
msgid "Some other examples:"
msgstr ""
#. type: Source code
#: ../E/function.txt:89
#, no-wrap
msgid ""
"float Pi()\n"
"{\n"
"\treturn 3.1415;\n"
"}\n"
"\n"
"string Sign(float a)\n"
"{\n"
"\tif (a > 0) return \"positive\";\n"
"\tif (a < 0) return \"negative\";\n"
"\treturn \"null\";\n"
"}"
msgstr ""
#. type: \b; header
#: ../E/function.txt:102
#, no-wrap
msgid "Overloading"
msgstr ""
#. type: Plain text
#: ../E/function.txt:103
#, no-wrap
msgid "You can declare several functions with the same name but different parameters:"
msgstr ""
#. type: Source code
#: ../E/function.txt:105
#, no-wrap
msgid ""
"float Pythagoras(float a, float b)\n"
"{\n"
"\treturn sqrt((a*a)+(b*b));\n"
"}\n"
"\n"
"float Pythagoras(float a, float b, float c)\n"
"{\n"
"\treturn sqrt((a*a)+(b*b)+(c*c));\n"
"}"
msgstr ""
#. type: Plain text
#: ../E/function.txt:115
#, no-wrap
msgid "CBOT will call either the one or the other function depending on the parameters passed. They must be distinguishable, i.e. you can't declare two functions with the same name and parameter types in the exact same order, e.g. declaring <code>int Pythagoras(float b, float a)</code> will result in error. Note that result type does not matter."
msgstr ""
#. type: \b; header
#: ../E/function.txt:117
#, no-wrap
msgid "Public functions"
msgstr ""
#. type: \b; header
#: ../E/function.txt:120
#, no-wrap
msgid "object::"
msgstr ""
#. type: Plain text
#: ../E/function.txt:121
#, no-wrap
msgid "Declaring a function as a part of the <a cbot|object>object</a> namespace gives it access to <code><a cbot|this>this</a></code> <a cbot|pointer>pointer</a>, in other words, to all available properties of the robot which the program is run on."
msgstr ""
#. type: Plain text
#: ../E/function.txt:47
#, no-wrap
msgid "Now the program is much easier to read. It is a good practice to split the program into several functions with self-describing names."
msgid "Result <a cbot|type>type</a> should be <a cbot/void>void</a> if the function does not give any. Body is just a set of instructions. Function name must be created with the exact same rules applied to <a cbot|var>variables</a>."
msgid "<c/><a cbot|object>object</a>.factory ( cat, program );<n/>"
msgstr ""
#. type: Plain text
#: ../E/factory.txt:5
#, no-wrap
msgid "Starts a construction of a bot of the given <a cbot|category>category</a> and runs the specified program on it after the construction is finished."
msgid "Program that will be run on the bot after factory finishes the construction. This can be either a <a cbot|public>public</a> <a cbot|function>function</a>, a <a cbot|file>filename</a> 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
#, no-wrap
msgid ""
"Normally an error stops the program. You can prevent the program from stopping on errors by using the <code><a cbot|errmode>errmode</a>(0)</code> instruction. A value different from zero if an error occurred is then returned by <code>factory()</code>.\n"
"<code>== 0 </code>The construction successfully started\n"
"<code>!= 0 </code>The construction could not be started (e.g. no <a object|titan>Titanium</a> in the factory, the bot is not researched)"
msgid "Research names represent the types of available researches in the CBOT language. You can use them to control <a object|research>ResearchCenter</a> by passing them to appropriate instructions (e.g. <a cbot|research>research</a>, <a cbot|canresearch>canresearch</a>, <a cbot|researched>researched</a>)."
msgstr ""
#. type: Plain text
#: ../E/researches.txt:4
#, no-wrap
msgid "In a program, research names are always displayed on a <format const>red background</format>. If a research name is not highlighted in red, it is misspelled. Caps and lower cases should be kept as is."
msgid "Any building which can take some action (e.g. <a cbot|convert>Converter</a>)."
msgstr ""
#. type: Plain text
#: ../E/busy.txt:11
#, no-wrap
msgid ""
"<code><format const>true</format></code> if the object is doing something (e.g. converting)\n"
"<code><format const>false</format></code> 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: "
msgid "Also, some objects have additional methods (instructions). See them in <a cbot>the main list</a> in the <c/>\"Instructions specific for some objects\" section."
msgstr ""
#. type: Plain text
#: ../E/object.txt:22
#, no-wrap
msgid "The <n/><a cbot|category>category</a> 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 "<a object|research>ResearchCenter</a> or <a object|labo>AutoLab</a>."
"Normally an error stops the program. You can prevent the program from stopping on errors by using the <code><a cbot|errmode>errmode</a>(0)</code> instruction. A value different from zero if an error occurred is then returned by <code>research()</code>.\n"
"<code>== 0 </code>The research successfully started\n"
"<code>!= 0 </code>The research could not be started (e.g. the research is disabled in the level, no power cell)"
"Normally an error stops the program. You can prevent the program from stopping on errors by using the <code><a cbot|errmode>errmode</a>(0)</code> instruction. A value different from zero if an error occurred is then returned by <code>takeoff()</code>.\n"
"<code>== 0 </code>Spaceship takes off\n"
"<code>!= 0 </code>Spaceship could not take off (e.g. mission is not finished yet)"
msgid "The bot's team. Used in <a battles>code battles</a>. If the object has no team assigned (e.g. in no team-based levels, the object being a resource), this is equal to <code>0</code>."
msgstr ""
#. type: \b; header
#: ../E/colors.txt:1
#, no-wrap
msgid "Value <code>Colors</code>"
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 <a cbot|pendown>pendown</a> or <a cbot|pencolor>pencolor</a>."
msgstr ""
#. type: Plain text
#: ../E/colors.txt:4
#, no-wrap
msgid "In a program, colors are always displayed on a <format const>red background</format>. If a color isn't highlighted in red, it is misspelled. Caps and lower cases should be kept as is."
msgid "Width of the pen. The width cannot be higher than <code>1.0</code> and cannot be lower than <code>0.0</code>. 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 <code><a cbot|errmode>errmode</a>(0)</code> instruction. A value different from zero if an error occurred is then returned by <c/>pendown();<n/>.\n"
msgid "The instruction <c/>pencolor();<n/> 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 <code><a cbot|errmode>errmode</a>(0)</code> instruction. A value different from zero if an error occurred is then returned by <c/>pencolor();<n/>.\n"
"<code>== 0 </code>The color was changed\n"
"<code>!= 0 </code>The instruction did not work"
msgstr ""
#. type: \b; header
#: ../E/penup.txt:1
#, no-wrap
msgid "Instruction <code>penup</code>"
msgstr ""
#. type: Source code
#: ../E/penup.txt:3
#, no-wrap
msgid "<c/>penup ( );<n/>"
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 <code><a cbot|errmode>errmode</a>(0)</code> instruction. A value different from zero if an error occurred is then returned by <c/>penup();<n/>.\n"
"<code>== 0 </code>The pen is now up\n"
"<code>!= 0 </code>The instruction did not work"
msgstr ""
#. type: \b; header
#: ../E/penwidth.txt:1
#, no-wrap
msgid "Instruction <code>penwidth</code>"
msgstr ""
#. type: Source code
#: ../E/penwidth.txt:3
#, no-wrap
msgid "<c/>penwidth ( color );<n/>"
msgstr ""
#. type: Plain text
#: ../E/penwidth.txt:4
#, no-wrap
msgid "The instruction <c/>penwidth();<n/> instructs the bot to change the width of the pencil."
"Normally an error stops the program. You can prevent the program from stopping on errors by using the <code><a cbot|errmode>errmode</a>(0)</code> instruction. A value different from zero if an error occurred is then returned by <c/>penwidth();<n/>.\n"
"<code>== 0 </code>The width was changed\n"
"<code>!= 0 </code>The instruction did not work"
msgstr ""
#. type: Plain text
#: ../E/pendown.txt:4
#, no-wrap
msgid "The instruction <c/>pendown();<n/> 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 <c/>penup();<n/> 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 <code><a cbot|pendown>pendown</a></code>."
"<format const>true</format> if the research can be done (even if it is already done, to check that, use the <a cbot|researched>researched</a> instruction)\n"
"<format const>false</format> if the research cannot be done"
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 <code>flatmin</code> of flat ground around a given position. Works similar to <c/><a cbot|space>space();</a><n/>. Useful for finding a place for a <a cbot|category>building</a>."
msgid "Nothing but a name can be changed in the main function. The keyword <code><a cbot|extern>extern</a></code> distinguish the main function from others."
msgid "<a cbot|array>Array</a> of categories of the objects that should be detected. For example, when you are looking only for grabbers:"
msgstr ""
#. type: Bullet: 'o'
#: ../E/radar.txt:23
#, no-wrap
msgid "<a cbot|category>Category</a> of the objects that should be detected. For example, when you are looking for an ant, write <code>radar(AlienAnt)</code>. "
msgid "Detects the object of the given category that is closest to the given position. Similar to <c/><a cbot|radar>radar();</a><n/>, but can search starting from the specific point instead of the actual bot's position."
msgstr ""
#. type: Bullet: 'o'
#: ../E/search.txt:8
#, no-wrap
msgid "<a cbot|category>Category</a> of the objects that should be detected. For example, when you are looking for an ant, write <code>search(AlienAnt)</code>. "
msgstr ""
#. type: Bullet: 'o'
#: ../E/search.txt:9
#, no-wrap
msgid "<a cbot|array>Array</a> of categories of the objects that should be detected. For example, when you are looking only for grabbers, starting from a certain point in the level:"
"Normally an error stops the program. You can prevent the program from stopping on errors by using the <code><a cbot|errmode>errmode</a>(0)</code> instruction. A value different from zero if an error occurred is then returned by <code>destroy()</code>.\n"
"<code>== 0 </code>The operation of destroying of an object was started\n"
"<code>!= 0 </code>The instruction could not be done (e.g. nothing to destroy)"
msgstr ""
#. type: Bullet: 'o'
#: ../E/search.txt:17
#, no-wrap
msgid "Keyword <format const>Any</format> if you are looking for any object (including even plants and so on)."
msgid "Keyword <format const>Any</format> if you are looking for any object (including even plants and so on). Filters may be useful to use with this keyword."
msgid "Determines which type of objects should be detected. Especially useful in use with an <a cbot|array>array</a> or <format const>Any</format>. The following filters are available:"
msgid "The last three are mainly useful in <a battles>code battles</a>. You can also pass a team ID to search only for objects from a specific team. Attention: you should use <format const>FilterNeutral</format> instead of <code>0</code> 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 <code>|</code>, for example <c/>radar(Any, 0, 360, 0, 1000, 1, 2 | FilterOnlyLanding);<n/> will only detect an object from team <code>2</code> that is on the ground. Attention: you can specify only one team ID at once, but you can specify several filters at once."
msgstr ""
#~ msgid "The last three are mainly useful in <a battles>code battles</a>. You can also pass a team ID to search only for objects from a specific team."
#~ msgstr ""
#~ msgid "Filters and IDs can be mixed using bitwise OR operator, for example <c/>radar(Any, 0, 360, 0, 1000, 1, 2 | FilterOnlyLanding);<n/> will detect an object from team <code>2</code> that is on the ground. Attention: you can specify only one team ID at once, but you can specify several filters at once."
#~ msgstr ""
#~ msgid "The last three are mainly useful in <a battles>code battles</a>."
#~ "<code><format const>FilterOnlyLanding</format> </code>Detects only objects being on the ground\n"
#~ "<code><format const>FilterOnlyFlying</format> </code>Detects only objects not being on the ground\n"
#~ "<code><format const>FilterFriendly</format> </code>Detects only allies (objects in the same team).\n"
#~ "<code><format const>FilterEnemy</format> </code>Detects only enemies (objects in an other team except neutral).\n"
#~ "<code><format const>FilterNeutral</format> </code>Detects only neutral objects (e.g. resources)."
#~ msgstr ""
#~ msgid "Determines which type of objects should be detected. Especially useful in use with an <a cbot|array>array</a> or \\constAny<norm/>. The following filters are available:"
#~ "Normally an error stops the program. You can prevent the program from stopping on errors by using the <code><a cbot|errmode>errmode</a>(0)</code> instruction. A value different from zero if an error occurred is then returned by <code>destroy()</code>.\n"
#~ "<code>== 0 </code>The operation of destroying an object was started\n"
#~ "<code>!= 0 </code>The instruction could not be done (e.g. nothing to destroy)"
#~ "Normally an error stops the program. You can prevent the program from stopping on errors by using the <code><a cbot|errmode>errmode</a>(0)</code> instruction. A value different from zero if an error occurred is then returned by <code>destroy()</code>.\n"
#~ "<code>== 0 </code>The operation of destroying an object was started\n"
#~ "<code>!= 0 </code>The instruction could not be done (e.g. it was run on an object other than destroyer)"
#~ msgid "<a cbot|category>Category</a> of the objects that should be detected. For example, when you are looking for an ant, write <code>radar (AlienAnt)</code>. "
#~ msgstr "<a cbot|category>Категория</a> объекта, который нужно обнаружить. Например когда вы ищете муравья, напишите <code>radar (AlienAnt)</code>."
#~ msgid "Determines the position of the nearest free space with at least <code>flatmin</code> of flat ground around a given position. Works similar <c/><a cbot|space>space();</a><n/>. Useful for finding a place for a <a cbot|category>building</a>."
#~ msgid "The instruction <c/>pendown();<n/> instructs the bot to have the pen down, so it begins drawing."
#~ msgstr ""
#~ msgid "The instruction <c/>penup();<n/> instructs the bot to have the pen up, so it ends drawing. The pen is up by default, so it should be used only after using <code><a cbot|pendown>pendown</a></code>."
#~ msgstr ""
#~ msgid "The instruction <c/>pendown();<n/> instructs the bot to change the color of the pencil."
#~ msgstr ""
#~ msgid ""
#~ "Normally an error stops the program. You can prevent the program from stopping on errors by using the <code><a cbot|errmode>errmode</a>(0)</code> instruction. A value different from zero if an error occurred is then returned by <c/>pendown();<n/>.\n"
#~ "<code>== 0 </code>The color was changed\n"
#~ "<code>!= 0 </code>The instruction did not work"
#~ msgstr ""
#~ msgid ""
#~ "<code><a cbot|int>int</a> object.category </code><a cbot|category>Category</a> of the object\n"
#~ "<code><a cbot|point>point</a> object.position </code>Position of the object (x,y,z)\n"
#~ "<code><a cbot|float>float</a> object.orientation </code>Orientation of the object (0..360)\n"
#~ "<code><a cbot|float>float</a> object.pitch </code>Forward/backward angle of the object\n"
#~ "<code><a cbot|float>float</a> object.roll </code>Right/left angle of the object \n"
#~ "Normally an error stops the program. You can prevent the program from stopping on errors by using the <code><a cbot|errmode>errmode</a>(0)</code> instruction. A value different from zero if an error occurred is then returned by <code>factory()</code>.\n"
#~ "<code>== 0 </code>The research successfully started\n"
#~ "<code>!= 0 </code>The research could not be started"
#~ msgstr ""
#~ msgid "Below are the different research names available:"
#~ "Normally an error stops the program. You can prevent the program from stopping on errors by using the <code><a cbot|errmode>errmode</a>(0)</code> instruction. A value different from zero if an error occurred is then returned by <code>takeoff()</code>.\n"
#~ "<code>== 0 </code>Spaceship takes off\n"
#~ "<code>!= 0 </code>Spaceship could not take off"
#~ msgstr ""
#~ msgid ""
#~ "<code><a cbot|int>int</a> object.category </code><a cbot|category>Category</a> of the object\n"
#~ "<code><a cbot|point>point</a> object.position </code>Position of the object (x,y,z)\n"
#~ "<code><a cbot|float>float</a> object.orientation </code>Orientation of the object (0..360)\n"
#~ "<code><a cbot|float>float</a> object.pitch </code>Forward/backward angle of the object\n"
#~ "<code><a cbot|float>float</a> object.roll </code>Right/left angle of the object \n"
#~ msgid "The <n/><a cbot|category>category</a> of an object allows you to know what it is, f. ex. what kind of bot, building, enemy, etc. "
#~ msgstr "<n/><a cbot|category>Категория</a> объекта позволяет вам узнать, что это такое, то есть например какой это вид бота, здания, врага и так далее."
#~ msgid "Also, some objects have additional methods (instructions). See them in <a cbot>the main list</a> in |c;Instructions specific for some <a cbot\\object>objects</a><n/> section."
#~ msgstr ""
#~ msgid ""
#~ "<code><a cbot|int>int</a> object.category </code><a cbot|category>Category</a> of the object\n"
#~ "<code><a cbot|point>point</a> object.position </code>Position of the object (x,y,z)\n"
#~ "<code><a cbot|float>float</a> object.orientation </code>Orientation of the object (0..360)\n"
#~ "<code><a cbot|float>float</a> object.pitch </code>Forward/backward angle of the object\n"
#~ "<code><a cbot|float>float</a> object.roll </code>Right/left angle of the object \n"
#~ "<code><a cbot|float>float</a> object.lifeTime </code>Lifetime of the object\n"
#~ "<code>object object.energyCell </code>Power cell on the bot\n"
#~ "<code>object object.load </code>Object carried by the bot\n"
#~ "<code><a cbot|string>string</a> object.team </code>The bot's team (see <a battles>code battles</a>)\n"
#~ "<code><a cbot|float>float</a> object.velocity </code>Velocity of the object"
#~ msgstr ""
#~ 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. "
#~ msgstr "Используйте этот тип для переменных, которые должны содержать характеристики объекта, это может быть бот, здание, какие природные ископаемые, враг и так далее."
#~ msgid ""
#~ "<code><a cbot|int>int</a> object.category </code><a cbot|category>Category</a> of the object\n"
#~ "<code><a cbot|point>point</a> object.position </code>Position of the object (x,y,z)\n"
#~ "<code><a cbot|float>float</a> object.orientation </code>Orientation of the object (0..360)\n"
#~ "<code><a cbot|float>float</a> object.pitch </code>Forward/backward angle of the object\n"
#~ "<code><a cbot|float>float</a> object.roll </code>Right/left angle of the object \n"
#~ msgid "Below are the different categories available :"
#~ msgstr "Ниже даются все известные категории:"
#~ msgid ""
#~ "Normally an error stops the program. You can prevent the program from stopping on errors by using the <code><a cbot|errmode>errmode</a>(0)</code> instruction. A value different from zero if an error occurred is then returned by <code>factory()</code>.\n"
#~ "<code>== 0 </code>The construction successfully started\n"
#~ "<code>!= 0 </code>The construction could not be started (e.g. no <a object|titan>Titanium</a> in the factory, the bot is not available in the level)"
#~ msgid "Nothing but a name can be changed in a main function. The keyword <code>extern</code> distinguish the main function from others."
#~ msgstr ""
#~ msgid "A function must be declared above the main function. Result <a cbot|type>type</a> should be <a cbot/void>void</a> if the function does not give any. Body is just a set of instructions. Function name must be created with the exact same rules applied to <a cbot|var>variables</a>."
#~ "With functions you can divide your program into several parts, each of them will execute a specific task.\n"
#~ "Let's imagine following program¦:"
#~ msgstr ""
#~ "С помощью функций программу можно разделить на несколько частей, которые будут выполнять каждая свою работу.\n"
#~ "Давайте представим следующую программу¦:"
#~ msgid ""
#~ "extern void object::Remote( )\n"
#~ "{\n"
#~ "\tsend(\"order\", 1, 100);\n"
#~ "\twait(5);\n"
#~ "\tsend(\"order\", 3, 100);\n"
#~ "\twait(5);\n"
#~ "\tsend(\"order\", 2, 100);\n"
#~ "\twait(5);\n"
#~ "\tsend(\"order\", 4, 100);\n"
#~ "\twait(5);\n"
#~ "}"
#~ msgstr ""
#~ "extern void object::Remote( )\n"
#~ "{\n"
#~ "\tsend(\"order\", 1, 100);\n"
#~ "\twait(5);\n"
#~ "\tsend(\"order\", 3, 100);\n"
#~ "\twait(5);\n"
#~ "\tsend(\"order\", 2, 100);\n"
#~ "\twait(5);\n"
#~ "\tsend(\"order\", 4, 100);\n"
#~ "\twait(5);\n"
#~ "}"
#~ msgid "<code>send</code> and <code>wait</code> are repeated several times. So it would be a good thing if we created a function that executes these two instructions:"
#~ msgstr "<code>send</code> и <code>wait</code> повторяются много раз. Поэтому, мы можем сделать функцию, которая заменит их:"
#~ msgid ""
#~ "void object::SendToPost( float op )\n"
#~ "{\n"
#~ "\tsend(\"order\", op, 100);\n"
#~ "\twait(5);\n"
#~ "}\n"
#~ "extern void object::Remote( )\n"
#~ "{\n"
#~ "\tSendToPost(1);\n"
#~ "\tSendToPost(3);\n"
#~ "\tSendToPost(2);\n"
#~ "\tSendToPost(4);\n"
#~ "}"
#~ msgstr ""
#~ "void object::SendToPost( float op )\n"
#~ "{\n"
#~ "\tsend(\"order\", op, 100);\n"
#~ "\twait(5);\n"
#~ "}\n"
#~ "extern void object::Remote( )\n"
#~ "{\n"
#~ "\tSendToPost(1);\n"
#~ "\tSendToPost(3);\n"
#~ "\tSendToPost(2);\n"
#~ "\tSendToPost(4);\n"
#~ "}"
#~ msgid "A function can have paramteters¦:"
#~ msgstr "Функции могут иметь параметры¦:"
#~ msgid "void Example( int a, float x, string s )"
#~ msgstr "void Example( int a, float x, string s )"
#~ msgid "The <code>Example</code> function will reveive un integer <code>a</code>, a floating point number <code>x</code> and a string <code>s</code>. Parameters are \"passed by value\", that is the values of parameter variables in a function are copies of the values the caller specified as variables. If you pass an <code>int</code> to a function, its parameter is a copy of whatever value was being passed as argument, and the function can change its parameter value without affecting values in the code that invoked the function."
#~ msgstr "Функция <code>Example</code> функция получит целое <code>a</code>, число с плавающей точкой <code>x</code> и строку <code>s</code>. Параметры - это ничто иное, как просто копии значений в переменных. Если вы передадите <code>int</code> функции, то ее параметр станет копией этого значения, т.е. функция сможет изменять эту копию незатрагивая оригинал."
#~ msgid "If you pass a <a cbot|class>class</a> instance or an <a cbot|array>array</a> as parameter to a function, the function only receives a <a cbot|pointer>reference</a> to the instance or the array. That means if you modify the instance or the array in the function, the instance or the array that has been specified by the caller will be actuallay modified."
#~ msgstr "Если вы передадите <a cbot|class>классу</a> массив <a cbot|array>array</a> как параметр функции, то функция получит только <a cbot|pointer>ссылку</a> к экземпляру массива. Это означает, что если вы измените массив в функции, то будет модифицирован только экземпляр этой функции."
#~ msgid "A function can also return a result with the <code><a cbot|return>return</a></code> instruction. Therefore the function must be declared no longer as void but as a type:"
#~ msgstr "Функция может возвращать результат с помощью инструкции <code><a cbot|return>return</a></code>. Поэтому функции должны быть объявлены только как тип:"
#~ msgid ""
#~ "float Mean( float a, float b )\n"
#~ "{\n"
#~ "\treturn (a+b)/2;\n"
#~ "}\n"
#~ "\n"
#~ "extern void object::Test( )\n"
#~ "{\n"
#~ "\tfloat value;\n"
#~ "\tvalue = Mean(2, 6);\n"
#~ "\tmessage( value ); // will display 4\n"
#~ "}"
#~ msgstr ""
#~ "float Mean( float a, float b )\n"
#~ "{\n"
#~ "\treturn (a+b)/2;\n"
#~ "}\n"
#~ "\n"
#~ "extern void object::Test( )\n"
#~ "{\n"
#~ "\tfloat value;\n"
#~ "\tvalue = Mean(2, 6);\n"
#~ "\tmessage( value ); // will display 4\n"
#~ "}"
#~ msgid "Some other examples¦:"
#~ msgstr "Пример¦:"
#~ msgid ""
#~ "float Pi( )\n"
#~ "{\n"
#~ "\treturn 3.1415;\n"
#~ "}\n"
#~ "\n"
#~ "string Sign( float a )\n"
#~ "{\n"
#~ "\tif ( a > 0 ) return \"positive\";\n"
#~ "\tif ( a < 0 ) return \"negative\";\n"
#~ "\treturn \"null\";\n"
#~ "}"
#~ msgstr ""
#~ "float Pi( )\n"
#~ "{\n"
#~ "\treturn 3.1415;\n"
#~ "}\n"
#~ "\n"
#~ "string Sign( float a )\n"
#~ "{\n"
#~ "\tif ( a > 0 ) return \"positive\";\n"
#~ "\tif ( a < 0 ) return \"negative\";\n"
#~ "\treturn \"null\";\n"
#~ "}"
#~ msgid "You can declare several functions with the same name but different parameters¦:"
#~ msgstr "вы также можете объявить несколько функций с одинаковыми именами, но разными параметрами¦:"
#~ msgid ""
#~ "float Pythagoras( float a, float b )\n"
#~ "{\n"
#~ "\treturn sqrt((a*a)+(b*b));\n"
#~ "}\n"
#~ "\n"
#~ "float Pythagoras( float a, float b, float c )\n"
#~ "{\n"
#~ "\treturn sqrt((a*a)+(b*b)+(c*c));\n"
#~ "}"
#~ msgstr ""
#~ "float Pythagoras( float a, float b )\n"
#~ "{\n"
#~ "\treturn sqrt((a*a)+(b*b));\n"
#~ "}\n"
#~ "\n"
#~ "float Pythagoras( float a, float b, float c )\n"
#~ "{\n"
#~ "\treturn sqrt((a*a)+(b*b)+(c*c));\n"
#~ "}"
#~ msgid "CBOT will call either the one or the other function depending on the paramteres passed."
#~ msgstr ""
#~ "CBOT будет вызывать ту или иную функцию так, что вызов будет зависеть отт параметров.\n"
#~ "Вы также можете объявить функцию <a cbot|public>общедоступной</a>, так что ее смогут использовать остальне боты."
#~ msgid "Angle in degrees of the gun relative to the robot. A positive value orients the gun to the right. The angle must range from <code>-40</code> to <code>+40</code> degrees for all shooters. This parameter is optional: if no value is provided, then <code>x = 0</code>."
#~ msgstr ""
#~ msgid "Truncation is a method of approximating a decimal number by dropping all decimal places past a certain point without rounding. For positive numbers, it works like the <c/><a cbot|floor\\n>floor();</a> function, and for negative numbers, it works like the <c/><a cbot|ceil\\n>ceil();</a> function. It can be said that it rounds towards zero."
#~ msgid "The purpose of using two arguments instead of one is to gather information on the signs of the inputs in order to return the appropriate quadrant of the computed angle, which is not possible for the single-argument <c/>\\latan();\\u cbot\\atan;<n/> function. For example, consider a point <code>(-1, -1)</code>: <c/>atan(-1/-1);<n/> is <code>45.00</code> degrees, whereas <c/>atan2(-1, -1);<n/> is <code>-135.00</code> degrees, which is obviously more correct in this case."
#~ msgid "The instruction <c/>build();<n/> instructs the bot to build a building of the given <a cbot|category>category</a>. Currently works for <a bots|botgc>Grabbers</a>, <a object|human>Me</a> and <a object|tech>Tech</a>."
#~ msgstr ""
#~ msgid "The instruction <c/>canbuild();<n/> lets you know if <a bots|botgc>Grabbers</a>, <a object|human>Me</a> or <a object|human>Tech</a> can build a building of the given <a cbot|category>category</a>. "
#~ msgstr ""
#~ msgid "It is similar to the <code><a cbot|canbuild>canbuild</a></code> instruction. However, it does not check if a required research has been done."
#~ msgstr ""
#~ msgid "It helps to prevent errors in programs using the <a cbot|build>build</a> instruction. Here is an example:"
#~ msgstr ""
#~ msgid "The <a cbot|category>category</a> of a building."
#~ msgstr ""
#~ msgid "It helps to prevent errors in programs using <a cbot|build>build</a> instruction. Here is an example:"
#~ msgid "The instruction <c/>canbuild();<n/> instructs the bot to build a building of the given <a cbot|category>category</a>. Currently works for <a bots|botgc>Grabbers</a>, <a object|human>Me</a> and <a object|human>Tech</a>"
#~ msgstr ""
#~ msgid "The instruction <c/>build();<n/> instructs the bot to build a building of the given <a cbot|category>category</a>. Currently works for <a bots|botgc>Grabbers</a>, <a object|human>Me</a> and <a object|human>Tech</a>"
#~ msgid "The instruction <c/>build();<n/> instructs the bot to build a building of the given <a cbot|category>category</a>. Currently works for every bot."
#~ msgid "This instruction sets the vertical and/or the horizontal angle of the cannon. The following robots are equipped with a cannon: "
#~ msgstr ""
#~ msgid "Angle in degrees of the gun relative to the robot. A positive value orients the gun to the right. For shooters and orga shooters, the angle must range from <code>-40</code> to <code>+40</code> degrees. For phazer shooters, the angle must range from <code>-40</code> to <code>40</code> degrees. It is optional: if no value is provided, then <code>x = 0</code>."
#~ msgstr ""
#~ msgid "Angle in degrees of the gun relative to the robot. A positive value orients the gun to the right. For shooters and orga shooters, the angle must range from <code>-20</code> to <code>+20</code> degrees. For phazer shooters, the angle must range from <code>-20</code> to <code>45</code> degrees."
#~ msgstr ""
#~ msgid "<c/>aim ( angle );<n/>"
#~ msgstr "<c/>aim ( угол );<n/>"
#~ msgid "This instruction sets the vertical angle of the cannon. The following robots are equipped with a cannon: "
#~ msgid "This command is mostly useful in an attempt to build a fully automatised base, where an <a object|human>astronaut</a> does not need to do anything except watching bots working. What is more, it makes beating the game by using only programming a possible task (however, it is a challenge rather for experienced gamers, who beat the whole game at least once)."
#~ msgstr ""
#~ msgid "The instruction <c/>build();<n/> instructs the bot to build a building of the given <a cbot|category>categories</a>. Currently works for every bot."
#~ msgstr ""
#~ msgid "The category of a building."
#~ msgstr ""
#~ msgid "Here is an example of a program that looks for a <a object|titan>titanium cube</a>, goes to the position and builds a <a object|factory>bot factory</a>."
#~ msgid "This command is mostly useful in an attempt to build a fully automatised base, where <a object|human>an astronaut</a> does not need to do anything except watching bots working. What is more, it makes beating the game by using only programming a possible task (however, it is rather a challenge for experienced gamers, who beat the whole game at least once)."
#~ msgstr ""
#~ msgid "Here is an example of a program that looks for a <a object|titan>titanium cube</a>, goes to the position and builds <a object|factory>a bot factory</a>."