744 lines
40 KiB
Plaintext
744 lines
40 KiB
Plaintext
![]() |
# SOME DESCRIPTIVE TITLE
|
|||
|
# Copyright (C) YEAR Free Software Foundation, Inc.
|
|||
|
# This file is distributed under the same license as the PACKAGE package.
|
|||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
|||
|
msgid ""
|
|||
|
msgstr ""
|
|||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
|||
|
"Report-Msgid-Bugs-To: \n"
|
|||
|
"POT-Creation-Date: DATE\n"
|
|||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|||
|
"Language: ru\n"
|
|||
|
"MIME-Version: 1.0\n"
|
|||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|||
|
"Content-Transfer-Encoding: 8bit\n"
|
|||
|
"X-Generator: Translate Toolkit 1.11.0\n"
|
|||
|
|
|||
|
#. type: \b; header
|
|||
|
#: ../E/1_SwitchCell.txt:1
|
|||
|
#, no-wrap
|
|||
|
msgid "Programs dispatched by Houston"
|
|||
|
msgstr "Программы, отправленные Хьюстоном"
|
|||
|
|
|||
|
#. type: Plain text
|
|||
|
#: ../E/1_SwitchCell1.txt:2
|
|||
|
#, no-wrap
|
|||
|
msgid "Following is a program that has been developed by our engineers. It allows you to switch <a object|power>power cells</a>. A charged cell needs to be placed on the ground in front of the bot."
|
|||
|
msgstr "Ниже приведен текст программы, написанной нашими инженерами. Она позволяет вам переключать <a object|power>энергетические батарейки</a>. Заряженные батарейки необходимо разместить на земле около бота."
|
|||
|
|
|||
|
#. type: Plain text
|
|||
|
#: ../E/1_SwitchCell1.txt:4
|
|||
|
#, no-wrap
|
|||
|
msgid "In order to execute this program, select the program <code>SwitchCell1</code> in the list of the programs available on the bot (on the lower left-hand corner of your screen), and click on the arrow symbol <button 21/>."
|
|||
|
msgstr "Чтобы запустить программу, выберите программу <code>SwitchCell1</code> из списка программ, доступных для бота (в левом нижнем углу экрана), и щелкните на стрелке <button 21/>"
|
|||
|
|
|||
|
#. type: Source code
|
|||
|
#: ../E/1_SwitchCell1.txt:6
|
|||
|
#, no-wrap
|
|||
|
msgid ""
|
|||
|
"extern void object::SwitchCell1()\n"
|
|||
|
"{\n"
|
|||
|
"\t<a cbot|grab>grab</a>(InFront); // take the new cell in front\n"
|
|||
|
"\t<a cbot|drop>drop</a>(Behind); // and drop it behind\n"
|
|||
|
"\t\n"
|
|||
|
"\t<a cbot|grab>grab</a>(EnergyCell); // take the cell from the bot\n"
|
|||
|
"\t<a cbot|drop>drop</a>(InFront); // and drop it in front\n"
|
|||
|
"\t\n"
|
|||
|
"\t<a cbot|grab>grab</a>(Behind); // take the new cell\n"
|
|||
|
"\t<a cbot|drop>drop</a>(EnergyCell); // and drop it on the bot\n"
|
|||
|
"}"
|
|||
|
msgstr ""
|
|||
|
"extern void object::SwitchCell1()\n"
|
|||
|
"{\n"
|
|||
|
"\t<a cbot|grab>grab</a>(InFront); // взять новыю батарейку\n"
|
|||
|
"\t<a cbot|drop>drop</a>(Behind); // бросить ее за собой\n"
|
|||
|
"\t\n"
|
|||
|
"\t<a cbot|grab>grab</a>(EnergyCell); // взять у бота батарейку\n"
|
|||
|
"\t<a cbot|drop>drop</a>(InFront); // сбросить ее перед собой\n"
|
|||
|
"\t\n"
|
|||
|
"\t<a cbot|grab>grab</a>(Behind); // взять новую батарейку\n"
|
|||
|
"\t<a cbot|drop>drop</a>(EnergyCell); // установить ее в боте\n"
|
|||
|
"}"
|
|||
|
|
|||
|
#. type: \b; header
|
|||
|
#: ../E/10_FollowPhazer.txt:1 ../E/1_SwitchCell1.txt:1 ../E/1_SwitchCell1_link.txt:1 ../E/2_Recharge1.txt:1 ../E/2_Recharge1_link.txt:1 ../E/3_Recharge2.txt:1 ../E/3_Recharge2_link.txt:1 ../E/4_CollectTitanium1.txt:1 ../E/5_CollectTitanium2.txt:1 ../E/5_CollectTitanium2_link.txt:1 ../E/6_KillAnt1.txt:1 ../E/6_KillAnt1_link.txt:1 ../E/7_CollectTitanium3.txt:1 ../E/8_ServiceTower1.txt:1 ../E/8_ServiceTower1_link.txt:1 ../E/9_terranova.txt:1
|
|||
|
#, no-wrap
|
|||
|
msgid "Programs dispatched by Houston"
|
|||
|
msgstr "Программы, отправленные Хьюстоном"
|
|||
|
|
|||
|
#. type: Plain text
|
|||
|
#: ../E/1_SwitchCell1_link.txt:2 ../E/2_Recharge1_link.txt:2 ../E/3_Recharge2_link.txt:2 ../E/5_CollectTitanium2_link.txt:2 ../E/6_KillAnt1_link.txt:2 ../E/8_ServiceTower1_link.txt:2
|
|||
|
#, no-wrap
|
|||
|
msgid "We did not develop a specific program for this mission. However, you can develop your own programs if you think it would be useful."
|
|||
|
msgstr "Для этой миссии мы не разрабатвали специальных программ. Тем не менее, вы можете сами написать свою собственную программу, если вы считаете, что это может вам понадобиться."
|
|||
|
|
|||
|
#. type: \b; header
|
|||
|
#: ../E/10_FollowPhazer.txt:40 ../E/1_SwitchCell1_link.txt:4 ../E/2_Recharge1.txt:20 ../E/2_Recharge1_link.txt:4 ../E/3_Recharge2.txt:23 ../E/3_Recharge2_link.txt:4 ../E/4_CollectTitanium1.txt:24 ../E/5_CollectTitanium2.txt:32 ../E/5_CollectTitanium2_link.txt:4 ../E/6_KillAnt1.txt:23 ../E/6_KillAnt1_link.txt:4 ../E/7_CollectTitanium3.txt:53 ../E/8_ServiceTower1.txt:43 ../E/8_ServiceTower1_link.txt:4 ../E/9_terranova.txt:20
|
|||
|
#, no-wrap
|
|||
|
msgid "Archives"
|
|||
|
msgstr "Архивы"
|
|||
|
|
|||
|
#. type: Plain text
|
|||
|
#: ../E/10_FollowPhazer.txt:41 ../E/1_SwitchCell1_link.txt:5 ../E/2_Recharge1.txt:21 ../E/2_Recharge1_link.txt:5 ../E/3_Recharge2.txt:24 ../E/3_Recharge2_link.txt:5 ../E/4_CollectTitanium1.txt:25 ../E/5_CollectTitanium2.txt:33 ../E/5_CollectTitanium2_link.txt:5 ../E/6_KillAnt1.txt:24 ../E/6_KillAnt1_link.txt:5 ../E/7_CollectTitanium3.txt:54 ../E/8_ServiceTower1.txt:44 ../E/8_ServiceTower1_link.txt:5 ../E/9_terranova.txt:21
|
|||
|
#, no-wrap
|
|||
|
msgid "Index of the programs dispatched in former missions:"
|
|||
|
msgstr "Список программ, отправленных в предыдущих миссиях"
|
|||
|
|
|||
|
#. type: Bullet: 'o'
|
|||
|
#: ../E/10_FollowPhazer.txt:50 ../E/1_SwitchCell1_link.txt:7 ../E/2_Recharge1.txt:23 ../E/2_Recharge1_link.txt:8 ../E/3_Recharge2.txt:26 ../E/3_Recharge2_link.txt:9 ../E/4_CollectTitanium1.txt:29 ../E/5_CollectTitanium2.txt:38 ../E/5_CollectTitanium2_link.txt:11 ../E/6_KillAnt1.txt:30 ../E/6_KillAnt1_link.txt:12 ../E/7_CollectTitanium3.txt:61 ../E/8_ServiceTower1.txt:52 ../E/8_ServiceTower1_link.txt:14 ../E/9_terranova.txt:30
|
|||
|
#, no-wrap
|
|||
|
msgid "<code><a programs/1_SwitchCell1>SwitchCell1</a></code>"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#. type: Plain text
|
|||
|
#: ../E/2_Recharge1.txt:2
|
|||
|
#, no-wrap
|
|||
|
msgid "Below is a program that has been developed by our engineers. It allows you to recharge the <a object|power>power cell</a> of a bot: it goes to the closest <a object|station>power station</a>, waits 5 seconds, and comes back to the initial position."
|
|||
|
msgstr "Ниже приведена программа, разработанная нашими инженерами. Она позволяет вам подзарядить <a object|power>батарейку</a> бота: она направляет бота к ближайшей <a object|station>электростанции</a>, заставляет его подождать 5 секунд, и вернуться к начальной позиции."
|
|||
|
|
|||
|
#. type: Plain text
|
|||
|
#: ../E/2_Recharge1.txt:4
|
|||
|
#, no-wrap
|
|||
|
msgid "Remark: If you click on an element of the program underlined in blue, your SatCom will display a text that explains this element. The texts that follow a double slash <code>//</code> are not part of the program, but are comments that help you to understand the program."
|
|||
|
msgstr "Сноска: Если вы щелкните на элеменете программы, выделенном синим цветом, ваш Сатком отобразит текст, описывающий этот элемент. Текст, идущий после двух косых <code>//</code> не является частью программы. Он просто комментирует содержание программы, чтобы вы могли понять ее суть."
|
|||
|
|
|||
|
#. type: Source code
|
|||
|
#: ../E/2_Recharge1.txt:6
|
|||
|
#, no-wrap
|
|||
|
msgid ""
|
|||
|
"extern void object::Recharge1()\n"
|
|||
|
"{\n"
|
|||
|
"\t<a cbot|type>point</a> start; // variable for initial pos.\n"
|
|||
|
"\t<a cbot|type>object</a> item; // info. about power station\n"
|
|||
|
"\t\n"
|
|||
|
"\tstart = position; // store initial position\n"
|
|||
|
"\t\n"
|
|||
|
"\titem = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>); // look for station\n"
|
|||
|
"\t<a cbot|goto>goto</a>(item.position); // go to the power station\n"
|
|||
|
"\t<a cbot|wait>wait</a>(5); // wait 5 seconds\n"
|
|||
|
"\t\n"
|
|||
|
"\t<a cbot|goto>goto</a>(start); // go back to initial pos.\n"
|
|||
|
"}"
|
|||
|
msgstr ""
|
|||
|
"extern void object::Recharge1()\n"
|
|||
|
"{\n"
|
|||
|
"\t<a cbot|type>point</a> start; // переменная начальной позиции.\n"
|
|||
|
"\t<a cbot|type>object</a> item; // информация об электростанции\n"
|
|||
|
"\t\n"
|
|||
|
"\tstart = position; // сохранить начальную позицию\n"
|
|||
|
"\t\n"
|
|||
|
"\titem = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>); // искать станцию\n"
|
|||
|
"\t<a cbot|goto>goto</a>(item.position); // идти к электростанции\n"
|
|||
|
"\t<a cbot|wait>wait</a>(5); // подождать 5 секунд\n"
|
|||
|
"\t\n"
|
|||
|
"\t<a cbot|goto>goto</a>(start); // возвратиться к начальной позиции.\n"
|
|||
|
"}"
|
|||
|
|
|||
|
#. type: Plain text
|
|||
|
#: ../E/3_Recharge2.txt:2
|
|||
|
#, no-wrap
|
|||
|
msgid "We have improved the recharge program. When it arrives at the <a object|station>power station</a>, the bot does not wait exactly 5 seconds, but only until the <a object|power>power cell</a> is fully charged. After the bot is back at the initial position, it displays a message on the screen."
|
|||
|
msgstr "Мы улучшили программу подзарядки. Когда он прибывает на <a object|station>электростанцию</a>, бот не ждет именно 5 секунд, а только до того момента, когда <a object|power>батареи</a> полностью зарядятся. После того, как бот вернется в начальную позицию, на экране появляется сообщение."
|
|||
|
|
|||
|
#. type: Source code
|
|||
|
#: ../E/3_Recharge2.txt:4
|
|||
|
#, no-wrap
|
|||
|
msgid ""
|
|||
|
"extern void object::Recharge2()\n"
|
|||
|
"{\n"
|
|||
|
"\t<a cbot|type>point</a> start; // variable for initial pos.\n"
|
|||
|
"\t<a cbot|type>object</a> item; // info. about power station\n"
|
|||
|
"\t\n"
|
|||
|
"\tstart = position; // store initial position\n"
|
|||
|
"\t\n"
|
|||
|
"\titem = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>); // look for station\n"
|
|||
|
"\t<a cbot|goto>goto</a>(item.position); // go to the power station\n"
|
|||
|
"\t\n"
|
|||
|
"\t<a cbot|while>while</a> ( <a cbot|object>energyCell.energyLevel</a> < 1 )\n"
|
|||
|
"\t{\n"
|
|||
|
"\t\t<a cbot|wait>wait</a>(1); // wait until recharged\n"
|
|||
|
"\t}\n"
|
|||
|
"\t\n"
|
|||
|
"\t<a cbot|goto>goto</a>(start); // go back to initial pos.\n"
|
|||
|
"\t<a cbot|message>message</a>(\"Recharge completed\");\n"
|
|||
|
"}"
|
|||
|
msgstr ""
|
|||
|
"extern void object::Recharge2()\n"
|
|||
|
"{\n"
|
|||
|
"\t<a cbot|type>point</a> start; // переменная начальной позиции.\n"
|
|||
|
"\t<a cbot|type>object</a> item; // информация об электростанции\n"
|
|||
|
"\t\n"
|
|||
|
"\tstart = position; // сохранить начальную позицию\n"
|
|||
|
"\t\n"
|
|||
|
"\titem = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>); // искать станцию\n"
|
|||
|
"\t<a cbot|goto>goto</a>(item.position); // идти к электростанции\n"
|
|||
|
"\t\n"
|
|||
|
"\t<a cbot|while>while</a> ( <a cbot|object>energyCell.energyLevel</a> < 1 )\n"
|
|||
|
"\t{\n"
|
|||
|
"\t\t<a cbot|wait>wait</a>(1); // ждать окончания зарядки\n"
|
|||
|
"\t}\n"
|
|||
|
"\t\n"
|
|||
|
"\t<a cbot|goto>goto</a>(start); // вернуться в начальную позицию.\n"
|
|||
|
"\t<a cbot|message>message</a>(\"Зарядка проведена\");\n"
|
|||
|
"}"
|
|||
|
|
|||
|
#. type: Bullet: 'o'
|
|||
|
#: ../E/10_FollowPhazer.txt:49 ../E/2_Recharge1_link.txt:7 ../E/3_Recharge2.txt:27 ../E/3_Recharge2_link.txt:8 ../E/4_CollectTitanium1.txt:28 ../E/5_CollectTitanium2.txt:37 ../E/5_CollectTitanium2_link.txt:10 ../E/6_KillAnt1.txt:29 ../E/6_KillAnt1_link.txt:11 ../E/7_CollectTitanium3.txt:60 ../E/8_ServiceTower1.txt:51 ../E/8_ServiceTower1_link.txt:13 ../E/9_terranova.txt:29
|
|||
|
#, no-wrap
|
|||
|
msgid "<code><a programs/2_Recharge1>Recharge1</a></code>"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#. type: Bullet: 'o'
|
|||
|
#: ../E/10_FollowPhazer.txt:48 ../E/3_Recharge2_link.txt:7 ../E/4_CollectTitanium1.txt:27 ../E/5_CollectTitanium2.txt:36 ../E/5_CollectTitanium2_link.txt:9 ../E/6_KillAnt1.txt:28 ../E/6_KillAnt1_link.txt:10 ../E/7_CollectTitanium3.txt:59 ../E/8_ServiceTower1.txt:50 ../E/8_ServiceTower1_link.txt:12 ../E/9_terranova.txt:28
|
|||
|
#, no-wrap
|
|||
|
msgid "<code><a programs/3_Recharge2>Recharge2</a></code>"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#. type: Plain text
|
|||
|
#: ../E/4_CollectTitanium1.txt:2
|
|||
|
#, no-wrap
|
|||
|
msgid ""
|
|||
|
"Below is one of the programs that has been developed by our engineers.\n"
|
|||
|
"It instructs a <a object|botgr>grabber</a> to retrieve the nearest chunk of <a object|titanore>titanium ore</a> and place it on the <a object|convert>converter</a>."
|
|||
|
msgstr ""
|
|||
|
"Ниже приведен текст программы, написанной одним из наших инженеров.\n"
|
|||
|
"Она инструктирует <a object|botgr>сборщика</a> взять ближайший кусок <a object|titanore>титановой руды</a> и разместить его в <a object|convert>преобразователе</a>."
|
|||
|
|
|||
|
#. type: Plain text
|
|||
|
#: ../E/4_CollectTitanium1.txt:5
|
|||
|
#, no-wrap
|
|||
|
msgid "In order to execute this program, select the program <code>CollectTitanium1</code> in the list of the programs available on the bot (on the lower left-hand corner of your screen), and click on the arrow symbol <button 21/>. At any moment you can stop the program and take over at the controls with the stop button <button 8/>."
|
|||
|
msgstr "Чтобы запустить программу, выберите программу <code>CollectTitanium1</code> из списка программ, доступных для бота (в левом нижнем углу экрана), и щелкните на стрелке <button 21/>. Вы можете в любой момент остановить программу и взять управление в свои руки, нажав кнопку стоп <button 8/>."
|
|||
|
|
|||
|
#. type: Source code
|
|||
|
#: ../E/4_CollectTitanium1.txt:7
|
|||
|
#, no-wrap
|
|||
|
msgid ""
|
|||
|
"extern void object::CollectTitanium1()\n"
|
|||
|
"{\n"
|
|||
|
"\t// 1) Variable definition.\n"
|
|||
|
"\t<a cbot|type>object</a> item; // info. about objects\n"
|
|||
|
"\t\n"
|
|||
|
"\t// 2) Go to the titanium ore and grab it.\n"
|
|||
|
"\titem = <a cbot|radar>radar</a>(<a cbot|category>TitaniumOre</a>);// look for titanium ore\n"
|
|||
|
"\t<a cbot|goto>goto</a>(item.position); // go to the position\n"
|
|||
|
"\t<a cbot|grab>grab</a>(); // grab the titanium\n"
|
|||
|
"\t\n"
|
|||
|
"\t// 3) Go to the converter and drop it.\n"
|
|||
|
"\titem = <a cbot|radar>radar</a>(<a cbot|category>Converter</a>); // look for converter\n"
|
|||
|
"\t<a cbot|goto>goto</a>(item.position); // go to the position\n"
|
|||
|
"\t<a cbot|drop>drop</a>(); // drop the titanium\n"
|
|||
|
"\t<a cbot|move>move</a>(-2.5); // step back 2.5 m\n"
|
|||
|
"}"
|
|||
|
msgstr ""
|
|||
|
"extern void object::CollectTitanium1()\n"
|
|||
|
"{\n"
|
|||
|
"\t// 1) Задание переменной.\n"
|
|||
|
"\t<a cbot|type>object</a> item; // информация об объектах\n"
|
|||
|
"\t\n"
|
|||
|
"\t// 2) Перейти к тиатновой руде и взять ее.\n"
|
|||
|
"\titem = <a cbot|radar>radar</a>(<a cbot|category>TitaniumOre</a>);// искать титановую руду\n"
|
|||
|
"\t<a cbot|goto>goto</a>(item.position); // перейти к месту\n"
|
|||
|
"\t<a cbot|grab>grab</a>(); // взять титан\n"
|
|||
|
"\t\n"
|
|||
|
"\t// 3) Перейти к преобразователю и сбросить руду.\n"
|
|||
|
"\titem = <a cbot|radar>radar</a>(<a cbot|category>Converter</a>); // искать преобразователь\n"
|
|||
|
"\t<a cbot|goto>goto</a>(item.position); // перейти к месту\n"
|
|||
|
"\t<a cbot|drop>drop</a>(); // сбросить титан\n"
|
|||
|
"\t<a cbot|move>move</a>(-2.5); // отойти назад на 2.5 м\n"
|
|||
|
"}"
|
|||
|
|
|||
|
#. type: Plain text
|
|||
|
#: ../E/5_CollectTitanium2.txt:2
|
|||
|
#, no-wrap
|
|||
|
msgid ""
|
|||
|
"Below is one of the programs that has been developed by our engineers.\n"
|
|||
|
"An upgrade on the previous program: the <a object|botgr>grabber</a>, on its way back from the converter, makes a stop, if necessary, at the <a object|station>power station</a> to recharge its power cell."
|
|||
|
msgstr ""
|
|||
|
"Ниже приведен текст программы, написанной одним из наших инженеров.\n"
|
|||
|
"Улучшение предыдущей программы: <a object|botgr>сборщик</a> на своем пути от преобразователя останавливается, если в этом возникает необходимость, около <a object|station>электростанции</a>, чтобы подзарядить свою энергетическую батарейку."
|
|||
|
|
|||
|
#. type: Plain text
|
|||
|
#: ../E/5_CollectTitanium2.txt:5
|
|||
|
#, no-wrap
|
|||
|
msgid "This program also works on <a object|botgj>winged grabbers</a>, if the <a object|derrick>derrick</a> is on another island than the <a object|convert>converter</a>."
|
|||
|
msgstr "Эта программа также работает для <a object|botgj>крылатых сборщиков</a>, если <a object|derrick>деррики</a> расположены не на том же самом острове, что и <a object|convert>преобразователь</a>."
|
|||
|
|
|||
|
#. type: Source code
|
|||
|
#: ../E/5_CollectTitanium2.txt:7
|
|||
|
#, no-wrap
|
|||
|
msgid ""
|
|||
|
"extern void object::CollectTitanium2()\n"
|
|||
|
"{\n"
|
|||
|
"\t// 1) Variable definition.\n"
|
|||
|
"\t<a cbot|type>object</a> item; // info. about objects\n"
|
|||
|
"\t\n"
|
|||
|
"\t// 2) Go to the titanium ore and grab it.\n"
|
|||
|
"\titem = <a cbot|radar>radar</a>(<a cbot|category>TitaniumOre</a>);// look for titanium ore\n"
|
|||
|
"\t<a cbot|goto>goto</a>(item.position); // go to the position\n"
|
|||
|
"\t<a cbot|grab>grab</a>(); // grab the titanium\n"
|
|||
|
"\t\n"
|
|||
|
"\t// 3) Go to the converter and drop it.\n"
|
|||
|
"\titem = <a cbot|radar>radar</a>(<a cbot|category>Converter</a>); // look for converter\n"
|
|||
|
"\t<a cbot|goto>goto</a>(item.position); // go to the position\n"
|
|||
|
"\t<a cbot|drop>drop</a>(); // drop the titanium\n"
|
|||
|
"\t<a cbot|move>move</a>(-2.5); // step back 2.5 m\n"
|
|||
|
"\t\t\n"
|
|||
|
"\t// 4) If power cell half empty, recharges.\n"
|
|||
|
"\tif ( energyCell.energyLevel < 0.5 )\n"
|
|||
|
"\t{ // if so:\n"
|
|||
|
"\t\titem = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>); // look for station\n"
|
|||
|
"\t\t<a cbot|goto>goto</a>(item.position); // go there\n"
|
|||
|
"\t\t<a cbot|wait>wait</a>(5); // wait\n"
|
|||
|
"\t}\n"
|
|||
|
"}"
|
|||
|
msgstr ""
|
|||
|
"extern void object::CollectTitanium2()\n"
|
|||
|
"{\n"
|
|||
|
"\t// 1) Задание переменной.\n"
|
|||
|
"\t<a cbot|type>object</a> item; // информация об объектах\n"
|
|||
|
"\t\n"
|
|||
|
"\t// 2) Перейти к тиатновой руде и взять ее.\n"
|
|||
|
"\titem = <a cbot|radar>radar</a>(<a cbot|category>TitaniumOre</a>);// искать титановую руду\n"
|
|||
|
"\t<a cbot|goto>goto</a>(item.position); // перейти к месту\n"
|
|||
|
"\t<a cbot|grab>grab</a>(); // взять титан\n"
|
|||
|
"\t\n"
|
|||
|
"\t// 3) Перейти к преобразователю и сбросить руду.\n"
|
|||
|
"\titem = <a cbot|radar>radar</a>(<a cbot|category>Converter</a>); // искать преобразователь\n"
|
|||
|
"\t<a cbot|goto>goto</a>(item.position); // перейти к месту\n"
|
|||
|
"\t<a cbot|drop>drop</a>(); // сбросить титан\n"
|
|||
|
"\t<a cbot|move>move</a>(-2.5); // отойти назад на 2.5 м\n"
|
|||
|
"\t\t\n"
|
|||
|
"\t// 4) Если энергетическая батарейка пуста, подзарядить.\n"
|
|||
|
"\tif ( energyCell.energyLevel < 0.5 )\n"
|
|||
|
"\t{ // если так:\n"
|
|||
|
"\t\titem = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>); // искать станцию\n"
|
|||
|
"\t\t<a cbot|goto>goto</a>(item.position); // перейти туда\n"
|
|||
|
"\t\t<a cbot|wait>wait</a>(5); // ждать\n"
|
|||
|
"\t}\n"
|
|||
|
"}"
|
|||
|
|
|||
|
#. type: Bullet: 'o'
|
|||
|
#: ../E/10_FollowPhazer.txt:47 ../E/5_CollectTitanium2.txt:35 ../E/5_CollectTitanium2_link.txt:8 ../E/6_KillAnt1.txt:27 ../E/6_KillAnt1_link.txt:9 ../E/7_CollectTitanium3.txt:58 ../E/8_ServiceTower1.txt:49 ../E/8_ServiceTower1_link.txt:11 ../E/9_terranova.txt:27
|
|||
|
#, no-wrap
|
|||
|
msgid "<code><a programs/4_CollectTitanium1>CollectTitanium1</a></code>"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#. type: Bullet: 'o'
|
|||
|
#: ../E/10_FollowPhazer.txt:46 ../E/5_CollectTitanium2_link.txt:7 ../E/6_KillAnt1.txt:26 ../E/6_KillAnt1_link.txt:8 ../E/7_CollectTitanium3.txt:57 ../E/8_ServiceTower1.txt:48 ../E/8_ServiceTower1_link.txt:10 ../E/9_terranova.txt:26
|
|||
|
#, no-wrap
|
|||
|
msgid "<code><a programs/5_CollectTitanium2>CollectTitanium2</a></code>"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#. type: Plain text
|
|||
|
#: ../E/6_KillAnt1.txt:2
|
|||
|
#, no-wrap
|
|||
|
msgid "Execute the program <code>KillAnt1</code> immediately on your <a object|botfr>wheeled shooter</a>, it will protect your west flank. Meantime you can elaborate your defense strategy."
|
|||
|
msgstr "Немедленно запустите программу <code>KillAnt1</code> на вашем <a object|botfr>колесном стрелке</a>, он будет защищать ваш западный фланг. Тем временем вы можете детально разработать свою оборонительную стратегию."
|
|||
|
|
|||
|
#. type: Source code
|
|||
|
#: ../E/6_KillAnt1.txt:4
|
|||
|
#, no-wrap
|
|||
|
msgid ""
|
|||
|
"extern void object::KillAnt1()\n"
|
|||
|
"{\n"
|
|||
|
"\t<a cbot|type>object</a> item; // info. about object\n"
|
|||
|
"\t\n"
|
|||
|
"\t<a cbot|goto>goto</a>(-30, 0); // go west\n"
|
|||
|
"\t<a cbot|aim>aim</a>(0); // aim straight\n"
|
|||
|
"\t\n"
|
|||
|
"\t<a cbot|while>while</a> ( true ) // repeat forever:\n"
|
|||
|
"\t{\n"
|
|||
|
"\t\titem = <a cbot|radar>radar</a>(<a cbot|category>AlienAnt</a>, 0, 360, 0, 40);\n"
|
|||
|
"\t\t<a cbot|if>if</a> ( item != null ) // ant detected ?\n"
|
|||
|
"\t\t{\n"
|
|||
|
"\t\t\t<a cbot|turn>turn</a>(<a cbot|direct>direction</a>(item.position));\n"
|
|||
|
"\t\t\t<a cbot|fire>fire</a>(0.5); // shoot 0.5 s\n"
|
|||
|
"\t\t}\n"
|
|||
|
"\t\t<a cbot|wait>wait</a>(1); // wait 1 second\n"
|
|||
|
"\t}\n"
|
|||
|
"}"
|
|||
|
msgstr ""
|
|||
|
"extern void object::KillAnt1()\n"
|
|||
|
"{\n"
|
|||
|
"\t<a cbot|type>object</a> item; // информация об объекте\n"
|
|||
|
"\t\n"
|
|||
|
"\t<a cbot|goto>goto</a>(-30, 0); // идти на запад\n"
|
|||
|
"\t<a cbot|aim>aim</a>(0); // прицелиться прямо\n"
|
|||
|
"\t\n"
|
|||
|
"\t<a cbot|while>while</a> ( true ) // повторять всегда:\n"
|
|||
|
"\t{\n"
|
|||
|
"\t\titem = <a cbot|radar>radar</a>(<a cbot|category>AlienAnt</a>, 0, 360, 0, 40);\n"
|
|||
|
"\t\t<a cbot|if>if</a> ( item != null ) // замечен муравей ?\n"
|
|||
|
"\t\t{\n"
|
|||
|
"\t\t\t<a cbot|turn>turn</a>(<a cbot|direct>direction</a>(item.position));\n"
|
|||
|
"\t\t\t<a cbot|fire>fire</a>(0.5); // выстрел 0.5 с\n"
|
|||
|
"\t\t}\n"
|
|||
|
"\t\t<a cbot|wait>wait</a>(1); // ждать 1 секунду\n"
|
|||
|
"\t}\n"
|
|||
|
"}"
|
|||
|
|
|||
|
#. type: Bullet: 'o'
|
|||
|
#: ../E/10_FollowPhazer.txt:45 ../E/6_KillAnt1_link.txt:7 ../E/7_CollectTitanium3.txt:56 ../E/8_ServiceTower1.txt:47 ../E/8_ServiceTower1_link.txt:9 ../E/9_terranova.txt:25
|
|||
|
#, no-wrap
|
|||
|
msgid "<code><a programs/6_KillAnt1>KillAnt1</a></code>"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#. type: Plain text
|
|||
|
#: ../E/7_CollectTitanium3.txt:2
|
|||
|
#, no-wrap
|
|||
|
msgid "As you will need lots of titanium for this mission, we have made the program <code>CollectTitanium</code> still more efficient. It gathers a whole series of titanium cubes on a free surface, so you can let it work on its own. It also recharges itself at the <a object|station>power station</a> if necessary."
|
|||
|
msgstr "Так как вам в этой миссии будет необходимо много титана, мы написали очень эффективную программу <code>CollectTitanium</code>. Она одновременно собирает все титановые слитки на свободной поверхности, поэтому вы можете позволить ей самой выполнить всю работу. Она также сама себя подзаряжает у <a object|station>электростанции</a>, если в этом возникает необходимость."
|
|||
|
|
|||
|
#. type: Source code
|
|||
|
#: ../E/7_CollectTitanium3.txt:4
|
|||
|
#, no-wrap
|
|||
|
msgid ""
|
|||
|
"extern void object::CollectTitanium3()\n"
|
|||
|
"{\n"
|
|||
|
"\t// 1) Variable definition.\n"
|
|||
|
"\t<a cbot|type>object</a> item; // info. about objects\n"
|
|||
|
"\t\n"
|
|||
|
"\t<a cbot|while>while</a> (true) // repeat forever\n"
|
|||
|
"\t{\n"
|
|||
|
"\t\t\n"
|
|||
|
"\t\t// 2) Go to the titanium ore and grab it.\n"
|
|||
|
"\t\titem = <a cbot|radar>radar</a>(<a cbot|category>TitaniumOre</a>);// look for titanium\n"
|
|||
|
"\t\t<a cbot|goto>goto</a>(item.position); // go to the position\n"
|
|||
|
"\t\t<a cbot|grab>grab</a>(); // grab the titanium\n"
|
|||
|
"\t\t\n"
|
|||
|
"\t\t// 3) Go to the converter and drop it.\n"
|
|||
|
"\t\titem = <a cbot|radar>radar</a>(<a cbot|category>Converter</a>); // look for converter\n"
|
|||
|
"\t\t<a cbot|goto>goto</a>(item.position); // go to the position\n"
|
|||
|
"\t\t<a cbot|drop>drop</a>(); // drop the titanium\n"
|
|||
|
"\t\t<a cbot|move>move</a>(-2.5); // step back 2.5 m\n"
|
|||
|
"\t\t\n"
|
|||
|
"\t\t// 4) Wait until titanium converted and grab it\n"
|
|||
|
"\t\t<a cbot|do>do</a>\n"
|
|||
|
"\t\t{\n"
|
|||
|
"\t\t\t<a cbot|wait>wait</a>(1); // wait for cube\n"
|
|||
|
"\t\t\titem = <a cbot|radar>radar</a>(<a cbot|category>Titanium</a>, 0, 45, 0, 5);\n"
|
|||
|
"\t\t}\n"
|
|||
|
"\t\t<a cbot|while>while</a> ( item == null );\n"
|
|||
|
"\t\t<a cbot|goto>goto</a>(item.position);\n"
|
|||
|
"\t\t<a cbot|grab>grab</a>(); // grab it\n"
|
|||
|
"\t\t\n"
|
|||
|
"\t\t// 5) Drop on a free space\n"
|
|||
|
"\t\t<a cbot|goto>goto</a>(<a cbot|space>space</a>(position)); // go to free space\n"
|
|||
|
"\t\t<a cbot|drop>drop</a>(); // drop titanium\n"
|
|||
|
"\t\t\n"
|
|||
|
"\t\t// 6) If power cell half empty, recharges.\n"
|
|||
|
"\t\t<a cbot|if>if</a> ( energyCell.energyLevel < 0.5 )\n"
|
|||
|
"\t\t{ // if so:\n"
|
|||
|
"\t\t\titem = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>);\n"
|
|||
|
"\t\t\t<a cbot|if>if</a> ( item != null ) // station found ?\n"
|
|||
|
"\t\t\t{\n"
|
|||
|
"\t\t\t\t<a cbot|goto>goto</a>(item.position); // go there\n"
|
|||
|
"\t\t\t\t<a cbot|while>while</a> ( energyCell.energyLevel < 1 )\n"
|
|||
|
"\t\t\t\t{ // until recharged:\n"
|
|||
|
"\t\t\t\t\t<a cbot|wait>wait</a>(1); // wait\n"
|
|||
|
"\t\t\t\t}\n"
|
|||
|
"\t\t\t}\n"
|
|||
|
"\t\t}\n"
|
|||
|
"\t}\n"
|
|||
|
"}"
|
|||
|
msgstr ""
|
|||
|
"extern void object::CollectTitanium3()\n"
|
|||
|
"{\n"
|
|||
|
"\t// 1) Задание переменной.\n"
|
|||
|
"\t<a cbot|type>object</a> item; // информация об объектах\n"
|
|||
|
"\t\n"
|
|||
|
"\t<a cbot|while>while</a> (true) // повторять всегда\n"
|
|||
|
"\t{\n"
|
|||
|
"\t\t\n"
|
|||
|
"\t\t// 2) Перейти к титановой руде и взять ее.\n"
|
|||
|
"\t\titem = <a cbot|radar>radar</a>(<a cbot|category>TitaniumOre</a>);// искать титан\n"
|
|||
|
"\t\t<a cbot|goto>goto</a>(item.position); // перейти к позиции\n"
|
|||
|
"\t\t<a cbot|grab>grab</a>(); // взять титан\n"
|
|||
|
"\t\t\n"
|
|||
|
"\t\t// 3) Перейти к преобразователю и сбросить его.\n"
|
|||
|
"\t\titem = <a cbot|radar>radar</a>(<a cbot|category>Converter</a>); // искать преобразователь\n"
|
|||
|
"\t\t<a cbot|goto>goto</a>(item.position); // перейти к позиции\n"
|
|||
|
"\t\t<a cbot|drop>drop</a>(); // сбросить титан\n"
|
|||
|
"\t\t<a cbot|move>move</a>(-2.5); // отойти назад на 2,5 метра\n"
|
|||
|
"\t\t\n"
|
|||
|
"\t\t// 4) Подождать пока титан будет преобразован и забрать его\n"
|
|||
|
"\t\t<a cbot|do>do</a>\n"
|
|||
|
"\t\t{\n"
|
|||
|
"\t\t\t<a cbot|wait>wait</a>(1); // ждать слиток\n"
|
|||
|
"\t\t\titem = <a cbot|radar>radar</a>(<a cbot|category>Titanium</a>, 0, 45, 0, 5);\n"
|
|||
|
"\t\t}\n"
|
|||
|
"\t\t<a cbot|while>while</a> ( item == null );\n"
|
|||
|
"\t\t<a cbot|goto>goto</a>(item.position);\n"
|
|||
|
"\t\t<a cbot|grab>grab</a>(); // взять его\n"
|
|||
|
"\t\t\n"
|
|||
|
"\t\t// 5) Drop on a free space\n"
|
|||
|
"\t\t<a cbot|goto>goto</a>(<a cbot|space>space</a>(position)); // выйти на свободное место\n"
|
|||
|
"\t\t<a cbot|drop>drop</a>(); // сбросить титан\n"
|
|||
|
"\t\t\n"
|
|||
|
"\t\t// 6) Если батарея разряжена, зарядить ее.\n"
|
|||
|
"\t\t<a cbot|if>if</a> ( energyCell.energyLevel < 0.5 )\n"
|
|||
|
"\t\t{ // if so:\n"
|
|||
|
"\t\t\titem = <a cbot|radar>radar</a>(<a cbot|category>PowerStation</a>);\n"
|
|||
|
"\t\t\t<a cbot|if>if</a> ( item != null ) // станция найдена ?\n"
|
|||
|
"\t\t\t{\n"
|
|||
|
"\t\t\t\t<a cbot|goto>goto</a>(item.position); // идти туда\n"
|
|||
|
"\t\t\t\t<a cbot|while>while</a> ( energyCell.energyLevel < 1 )\n"
|
|||
|
"\t\t\t\t{ // пока идет зарядка:\n"
|
|||
|
"\t\t\t\t\t<a cbot|wait>wait</a>(1); // ждать\n"
|
|||
|
"\t\t\t\t}\n"
|
|||
|
"\t\t\t}\n"
|
|||
|
"\t\t}\n"
|
|||
|
"\t}\n"
|
|||
|
"}"
|
|||
|
|
|||
|
#. type: Plain text
|
|||
|
#: ../E/8_ServiceTower1.txt:2
|
|||
|
#, no-wrap
|
|||
|
msgid "We have developed a program that takes care of recharging the power cell of a <a object|tower>defense tower</a>:"
|
|||
|
msgstr "Мы написали программу, которая отвечает за подзарядку батарей <a object|tower>оборонной башни</a>:"
|
|||
|
|
|||
|
#. type: Bullet: '1)'
|
|||
|
#: ../E/8_ServiceTower1.txt:4
|
|||
|
#, no-wrap
|
|||
|
msgid "Go to a <a object|tower>defense tower</a>."
|
|||
|
msgstr "Перейти к <a object|tower>оборонной башни</a>."
|
|||
|
|
|||
|
#. type: Bullet: '2)'
|
|||
|
#: ../E/8_ServiceTower1.txt:5
|
|||
|
#, no-wrap
|
|||
|
msgid "Wait until the <a object|power>power cell</a> is 80% empty."
|
|||
|
msgstr "Подождать пока <a object|power>батарея</a> разрядится на 80%."
|
|||
|
|
|||
|
#. type: Bullet: '3)'
|
|||
|
#: ../E/8_ServiceTower1.txt:6
|
|||
|
#, no-wrap
|
|||
|
msgid "Grab the <a object|power>power cell</a> and recharge it on a <a object|station>power station</a>."
|
|||
|
msgstr "Взять <a object|power>батарея</a> и зарядить ее на <a object|station>электростанции</a>."
|
|||
|
|
|||
|
#. type: Bullet: '4)'
|
|||
|
#: ../E/8_ServiceTower1.txt:7
|
|||
|
#, no-wrap
|
|||
|
msgid "Put it back on the <a object|tower>defense tower</a>."
|
|||
|
msgstr "Вернуть ее обратно на <a object|tower>оборонную башню</a>."
|
|||
|
|
|||
|
#. type: Plain text
|
|||
|
#: ../E/8_ServiceTower1.txt:9
|
|||
|
#, no-wrap
|
|||
|
msgid "Build the <a object|station>power station</a> as close as possible to the tower in order to reduce the time when the tower has got no power cell. A good trick is to place a power cell on the ground in front of the tower. The wasp will attack the power cell, and if the first shoot misses or a wasp arrives when the defense tower has got no energy, only the power cell is destroyed and not the defense tower."
|
|||
|
msgstr "Постройте <a object|station>электростанцию</a> как можно ближе к башне, чтобы уменьшить время, пока башня стоит без батареи. Неплохо было бы разместить батарею на земле около башни. На батарею нападет оса, и если первый выстрел будет неточным, или оса прилетит в тот момент, когда оборонная башня будет обесточена, уничтожена будет только батарея, а не оборонная башня."
|
|||
|
|
|||
|
#. type: Source code
|
|||
|
#: ../E/8_ServiceTower1.txt:11
|
|||
|
#, no-wrap
|
|||
|
msgid ""
|
|||
|
"extern void object::ServiceTower1()\n"
|
|||
|
"{\n"
|
|||
|
"\t<a cbot|object>object</a> tower; // info. about tower\n"
|
|||
|
"\t<a cbot|object>object</a> station; // info. about station\n"
|
|||
|
"\t\n"
|
|||
|
"\t// 1) go to the defense tower\n"
|
|||
|
"\ttower = <a cbot|radar>radar</a>(DefenseTower); // look for tower\n"
|
|||
|
"\t<a cbot|goto>goto</a>(tower.position); // go there\n"
|
|||
|
"\t\n"
|
|||
|
"\t<a cbot|while>while</a> ( true ) // repeat forever\n"
|
|||
|
"\t{\n"
|
|||
|
"\t\t// 2) wait until power cell is empty\n"
|
|||
|
"\t\t<a cbot|while>while</a> ( tower.energyCell.energyLevel > 0.2 )\n"
|
|||
|
"\t\t{\n"
|
|||
|
"\t\t\t<a cbot|wait>wait</a>(2);\n"
|
|||
|
"\t\t}\n"
|
|||
|
"\t\t<a cbot|grab>grab</a>(); // grab the power cell\n"
|
|||
|
"\t\t\n"
|
|||
|
"\t\t// 3) go to the power station to recharge\n"
|
|||
|
"\t\tstation = <a cbot|radar>radar</a>(PowerStation);\n"
|
|||
|
"\t\t<a cbot|goto>goto</a>(station.position); // go there\n"
|
|||
|
"\t\t<a cbot|while>while</a> ( load.energyLevel < 1 )\n"
|
|||
|
"\t\t{\n"
|
|||
|
"\t\t\t<a cbot|wait>wait</a>(1); // wait until recharged\n"
|
|||
|
"\t\t}\n"
|
|||
|
"\t\t\n"
|
|||
|
"\t\t// 4) go back to defense tower\n"
|
|||
|
"\t\t<a cbot|goto>goto</a>(tower.position); // go to tower\n"
|
|||
|
"\t\t<a cbot|drop>drop</a>(); // drop the power cell\n"
|
|||
|
"\t}\n"
|
|||
|
"}"
|
|||
|
msgstr ""
|
|||
|
"extern void object::ServiceTower1()\n"
|
|||
|
"{\n"
|
|||
|
"\t<a cbot|object>object</a> tower; // информация о башне\n"
|
|||
|
"\t<a cbot|object>object</a> station; // информация о станции\n"
|
|||
|
"\t\n"
|
|||
|
"\t// 1) перейти к оборонной башне\n"
|
|||
|
"\ttower = <a cbot|radar>radar</a>(DefenseTower); // искать башню\n"
|
|||
|
"\t<a cbot|goto>goto</a>(tower.position); // идти туда\n"
|
|||
|
"\t\n"
|
|||
|
"\t<a cbot|while>while</a> ( true ) // повторять всегда\n"
|
|||
|
"\t{\n"
|
|||
|
"\t\t// 2) подождать пока разрядится батарея\n"
|
|||
|
"\t\t<a cbot|while>while</a> ( tower.energyCell.energyLevel > 0.2 )\n"
|
|||
|
"\t\t{\n"
|
|||
|
"\t\t\t<a cbot|wait>wait</a>(2);\n"
|
|||
|
"\t\t}\n"
|
|||
|
"\t\t<a cbot|grab>grab</a>(); // взять батарею\n"
|
|||
|
"\t\t\n"
|
|||
|
"\t\t// 3) отправится к электростанции для подзарядки\n"
|
|||
|
"\t\tstation = <a cbot|radar>radar</a>(PowerStation);\n"
|
|||
|
"\t\t<a cbot|goto>goto</a>(station.position); // идти туда\n"
|
|||
|
"\t\t<a cbot|while>while</a> ( load.energyLevel < 1 )\n"
|
|||
|
"\t\t{\n"
|
|||
|
"\t\t\t<a cbot|wait>wait</a>(1); // ждать пока пройдет зарядка\n"
|
|||
|
"\t\t}\n"
|
|||
|
"\t\t\n"
|
|||
|
"\t\t// 4) вернуться к оборонной башне\n"
|
|||
|
"\t\t<a cbot|goto>goto</a>(tower.position); // идти к башне\n"
|
|||
|
"\t\t<a cbot|drop>drop</a>(); // бросить батарею\n"
|
|||
|
"\t}\n"
|
|||
|
"}"
|
|||
|
|
|||
|
#. type: Bullet: 'o'
|
|||
|
#: ../E/10_FollowPhazer.txt:44 ../E/8_ServiceTower1.txt:46 ../E/8_ServiceTower1_link.txt:8 ../E/9_terranova.txt:24
|
|||
|
#, no-wrap
|
|||
|
msgid "<code><a programs/7_CollectTitanium3>CollectTitanium3</a></code>"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#. type: Bullet: 'o'
|
|||
|
#: ../E/10_FollowPhazer.txt:43 ../E/8_ServiceTower1_link.txt:7 ../E/9_terranova.txt:23
|
|||
|
#, no-wrap
|
|||
|
msgid "<code><a programs/8_ServiceTower1>ServiceTower1</a></code>"
|
|||
|
msgstr ""
|
|||
|
|
|||
|
#. type: Plain text
|
|||
|
#: ../E/9_terranova.txt:2
|
|||
|
#, no-wrap
|
|||
|
msgid "According to the data transmitted by the satellite, our engineers have developed two programs. The first one guides the <a object|botshld>shielder bot</a> through the narrow valley north close to the place where the key has been located. You can follow it without fearing any attack:"
|
|||
|
msgstr "Согласно данным, переданными со спутника, наши инженеры разработали две программы. Первая управляет перемещением <a object|botshld>бронированного бота</a> по узкой долине недалеко на север от того места, где был обнаружен ключ. Вы можете продвигаться по этому пути не опасаясь атак:"
|
|||
|
|
|||
|
#. type: Source code
|
|||
|
#: ../E/9_terranova.txt:4
|
|||
|
#, no-wrap
|
|||
|
msgid ""
|
|||
|
"extern void object::Outward()\n"
|
|||
|
"{\n"
|
|||
|
"\t<a cbot|shield>shield</a>(1,15); // activate the shield\n"
|
|||
|
"\t<a cbot|goto>goto</a>(6,160); // go close to the key\n"
|
|||
|
"\t<a cbot|shield>shield</a>(0,15); // deactivate the shield\n"
|
|||
|
"}"
|
|||
|
msgstr ""
|
|||
|
"extern void object::Outward()\n"
|
|||
|
"{\n"
|
|||
|
"\t<a cbot|shield>shield</a>(1,15); // активировать щит\n"
|
|||
|
"\t<a cbot|goto>goto</a>(6,160); // подойти вплотную к ключу\n"
|
|||
|
"\t<a cbot|shield>shield</a>(0,15); // отключить щит\n"
|
|||
|
"}"
|
|||
|
|
|||
|
#. type: Plain text
|
|||
|
#: ../E/9_terranova.txt:11
|
|||
|
#, no-wrap
|
|||
|
msgid "The second program guides the <a object|botshld>shielder bot</a> back to the <a object|base>spaceship</a>:"
|
|||
|
msgstr "Вторая программа ведет <a object|botshld>бронированного бота</a> обратно к <a object|base>космическому кораблю</a>:"
|
|||
|
|
|||
|
#. type: Source code
|
|||
|
#: ../E/9_terranova.txt:13
|
|||
|
#, no-wrap
|
|||
|
msgid ""
|
|||
|
"extern void object::Return()\n"
|
|||
|
"{\n"
|
|||
|
"\t<a cbot|shield>shield</a>(1,15); // activate the shield\n"
|
|||
|
"\t<a cbot|goto>goto</a>(8,60); // go to the spaceship\n"
|
|||
|
"\t<a cbot|shield>shield</a>(0,15); // deactivate the shield\n"
|
|||
|
"}"
|
|||
|
msgstr ""
|
|||
|
"extern void object::Return()\n"
|
|||
|
"{\n"
|
|||
|
"\t<a cbot|shield>shield</a>(1,15); // активировать щит\n"
|
|||
|
"\t<a cbot|goto>goto</a>(8,60); // идти к космическому кораблю\n"
|
|||
|
"\t<a cbot|shield>shield</a>(0,15); // отключить щит\n"
|
|||
|
"}"
|
|||
|
|
|||
|
#. type: Plain text
|
|||
|
#: ../E/10_FollowPhazer.txt:2
|
|||
|
#, no-wrap
|
|||
|
msgid "Below is a program that has been developed by our engineers."
|
|||
|
msgstr "Ниже приведена программа, разработанная нашими инженерами."
|
|||
|
|
|||
|
#. type: Plain text
|
|||
|
#: ../E/10_FollowPhazer.txt:4
|
|||
|
#, no-wrap
|
|||
|
msgid "It instructs the <a object|botshld>shielder</a> to follow and protect the <a object|botphaz>phazer</a>."
|
|||
|
msgstr "Она приказывает <a object|botshld>бронеботу</a> следовать за <a object|botphaz>фазером</a> и защищать его."
|
|||
|
|
|||
|
#. type: Source code
|
|||
|
#: ../E/10_FollowPhazer.txt:6
|
|||
|
#, no-wrap
|
|||
|
msgid ""
|
|||
|
"extern void object::FollowPhazer()\n"
|
|||
|
"{\n"
|
|||
|
"\t<a cbot|type>object</a> item; // info. about phazer\n"
|
|||
|
"\t<a cbot|type>point</a> dest; // position where to go\n"
|
|||
|
"\t<a cbot|type>float</a> dist; // distance to phazer\n"
|
|||
|
"\t\n"
|
|||
|
"\titem = <a cbot|radar>radar</a>(<a cbot|category>PhazerShooter</a>);\n"
|
|||
|
"\t<a cbot|if>if</a> ( item == null )\n"
|
|||
|
"\t{\n"
|
|||
|
"\t\t<a cbot|message>message</a>(\"No phazer found\");\n"
|
|||
|
"\t\t<a cbot|return>return</a>; // stop the program\n"
|
|||
|
"\t}\n"
|
|||
|
"\t<a cbot|shield>shield</a>(1, 25); // activate the shield\n"
|
|||
|
"\t\n"
|
|||
|
"\t<a cbot|while>while</a> ( true ) // repeat forever\n"
|
|||
|
"\t{\n"
|
|||
|
"\t\titem = <a cbot|radar>radar</a>(PhazerShooter);// look for phazer\n"
|
|||
|
"\t\t<a cbot|if>if</a> ( item == null ) break;\n"
|
|||
|
"\t\t\n"
|
|||
|
"\t\tdist = <a cbot|dist>distance</a>(item.position, position);\n"
|
|||
|
"\t\t<a cbot|if>if</a> ( dist < 5 )\n"
|
|||
|
"\t\t{ // if closer than 5 m:\n"
|
|||
|
"\t\t\t<a cbot|wait>wait</a>(1); // wait\n"
|
|||
|
"\t\t}\n"
|
|||
|
"\t\t<a cbot|if>else</a> // otherwise:\n"
|
|||
|
"\t\t{ // Calculate a position 5 m before the phazer\n"
|
|||
|
"\t\t\tdest.x = (item.position.x-position.x)*((dist-5)/dist)+position.x;\n"
|
|||
|
"\t\t\tdest.y = (item.position.y-position.y)*((dist-5)/dist)+position.y;\n"
|
|||
|
"\t\t\tdest.z = (item.position.z-position.z)*((dist-5)/dist)+position.z;\n"
|
|||
|
"\t\t\t<a cbot|goto>goto</a>(dest, 0, 1, 1); // and go there\n"
|
|||
|
"\t\t}\n"
|
|||
|
"\t}\n"
|
|||
|
"}"
|
|||
|
msgstr ""
|
|||
|
"extern void object::FollowPhazer()\n"
|
|||
|
"{\n"
|
|||
|
"\t<a cbot|type>object</a> item; // информация о фазере\n"
|
|||
|
"\t<a cbot|type>point</a> dest; // место назначения\n"
|
|||
|
"\t<a cbot|type>float</a> dist; // расстояние до фазера\n"
|
|||
|
"\t\n"
|
|||
|
"\titem = <a cbot|radar>radar</a>(<a cbot|category>PhazerShooter</a>);\n"
|
|||
|
"\t<a cbot|if>if</a> ( item == null )\n"
|
|||
|
"\t{\n"
|
|||
|
"\t\t<a cbot|message>message</a>(\"Фазер не найден\");\n"
|
|||
|
"\t\t<a cbot|return>return</a>; // остановить программу\n"
|
|||
|
"\t}\n"
|
|||
|
"\t<a cbot|shield>shield</a>(1, 25); // включить щит\n"
|
|||
|
"\t\n"
|
|||
|
"\t<a cbot|while>while</a> ( true ) // повторять всегда\n"
|
|||
|
"\t{\n"
|
|||
|
"\t\titem = <a cbot|radar>radar</a>(PhazerShooter);// искать фазер\n"
|
|||
|
"\t\t<a cbot|if>if</a> ( item == null ) break;\n"
|
|||
|
"\t\t\n"
|
|||
|
"\t\tdist = <a cbot|dist>distance</a>(item.position, position);\n"
|
|||
|
"\t\t<a cbot|if>if</a> ( dist < 5 )\n"
|
|||
|
"\t\t{ // если ближе 5 метров:\n"
|
|||
|
"\t\t\t<a cbot|wait>wait</a>(1); // ждать\n"
|
|||
|
"\t\t}\n"
|
|||
|
"\t\t<a cbot|if>else</a> // иначе:\n"
|
|||
|
"\t\t{ // Рассчитать расстояние в 5 м. перед фазером\n"
|
|||
|
"\t\t\tdest.x = (item.position.x-position.x)*((dist-5)/dist)+position.x;\n"
|
|||
|
"\t\t\tdest.y = (item.position.y-position.y)*((dist-5)/dist)+position.y;\n"
|
|||
|
"\t\t\tdest.z = (item.position.z-position.z)*((dist-5)/dist)+position.z;\n"
|
|||
|
"\t\t\t<a cbot|goto>goto</a>(dest, 0, 1, 1); // перейти туда\n"
|
|||
|
"\t\t}\n"
|
|||
|
"\t}\n"
|
|||
|
"}"
|