en to ru translation catalogue (20 entries)

note: type: Title-text
en: Remote control #3
ru: Дистанционное управление #3

note: type: Resume-text
en: Remote control a bot without using an information exchange post by using a string.
ru: Дистанционное управление ботом без использования поста обменом информацией.

note: type: \b; header
en: Exercice
ru: Упражнение

note: type: Plain text
en: Remote control a slave robot without using an <a object|exchange>information exchange post</a>. The robot should pass over the 6 blue crosses. You must use a <a cbot|string>string</a> to pass the orders to the slave bot. This string contains the order the slave shoud execute, for exemple <code>"move(20)"</code>. You can see that this is the same syntax as used in the CBOT language but we could have chosen any other syntax for exemple something like <code>"advance=20"</code>. The string will be a <code><a cbot|static>static</a></code> class member that will be used to communicate from the master to the slave.
ru: Дистанционное управление ботом без использования <a object|exchange>поста обменом информацией</a>. Бот должен проехать по 6 синим отметкам. Вам потребуется использовать команду <a cbot|string>string</a> для того, чтобы передавать команды управляемому боту. Эта строка будет содержать порядок выполнения, например <code>"move(20)"</code>. Вы видите, что это тот же синтаксис, используемый в языке CBOT, но мы могли бы выбрать любой другой синтаксис, например что-то вроде <code>"advance=20"</code>. Эта строка имеет <code><a cbot|static>статичный</a></code> класс, который будет использован для связи ведущего бота(master, тот, кто управляет) с ведомым ботом(slave, тот, кем управляют).

note: type: Plain text
en: The two main actors of this exercise are:
ru: Что потребуется:

note: type: Bullet: '1)'
en: The <a object|botgr>wheeled grabber</a> without an energy pack and therefore immobile. This is the master you should program so it will transmit orders to the slave.
ru: <a object|botgr>Колесный сборщик</a> без батареи. Данный бот будет ведущим.

note: type: Bullet: '2)'
en: The slave <a object|bottr>practice bot</a> which is already programmed and just waits for orders from the master.
ru: Ведомый <a object|bottr>тренировочный бот</a> запрограммированый заранее на ожидание комманд от ведущего бота.

note: type: \b; header
en: The slave
ru: Ведомый

note: type: Plain text
en: First of all we must understand how the program of the slave works. The <a cbot|class>class</a> <code>exchange</code> contains the mechanism for exchaning the orders. We declare a <code><a cbot|static>static</a></code> class member <code>m_order</code> which will contain the order to be executed. The word <code>static</code> insures that the member <code>m_order</code> is shared between all instances of the <a cbot|class>class</a> exchange.
ru: Прежде всего нужно понять, как программа работает. <a cbot|class>Класс</a> <code>exchange</code> содержит в себе механизм обмена данными. Мы заявляем <code><a cbot|static>статичный</a></code> номер класса <code>m_order</code> который содержит в себе команды для выполнения. Слово <code>статический</code> гарантирует, что <code>m_order</code> будет одинаковым во всех <a cbot|class>классах</a>.

note: type: Plain text
en: <n/>The <code>put</code> method will be used by the master robot for transmitting an order. As long as the string <code>m_order</code> is not empty, the slave has not finished the order and the <code>put</code> method will return <code>false</code> and will do nothing.
ru: <n/>Метод <code>"put"</code> позволит ведущему боту передавать команды. Пока строка <code>m_order</code> не будет очищена, ведомый бот не закончит работу и метод <code>put</code> вернет <code>ложь</code>(т.е. бот ничего не будет делать).

note: type: Plain text
en: Another method <code>get</code> will be used by the slave to retrieve the orders. This method returns the string contained in <code>m_order</code> and empties it, so a new order can be accepted:
ru: Другой метод <code>get</code> может быть использован ведомым ботом для получения задания. Этот метод возвращает в строку <code>m_order</code> заявку(order) на выполнение работы:

note: type: Plain text
en: The main program of the slave contains an instance of the class <code>exchange</code> called <code>list</code>.
ru: Основная программа в ведомом боте содержит класс <code>exchange</code> вызываемый через <code>list</code>.

note: type: Plain text
en: The outer <code>while</code> loop lasts for ever. The inner <code>while</code> loop waits for an order by using the <code>get</code> method of the <code>exchange</code> class. As soon as <code>get</code> returns a non empty string, the while loop stops.
ru: Внешний <code>цикл</code> длится вечно. Внутренний <code>цикл</code> ждет заявку с помощью метода <code>get</code> и <code>exchange</code> класса. Как только метод <code>get</code> вернет не пустую строку, цикл остановится.

note: type: Plain text
en: Now we have received the order in the <code>todo</code> variable. All we have to do is execute it:
ru: Теперь мы получили заявку в переменную <code>todo</code>. Значит нам нужно выполнить заказ:

note: type: \b; header
en: The master
ru: Ведущий

note: type: Plain text
en: In the master we write an function called <code>SendOrder</code> which will send an order to the slave:
ru: В ведущем боте создадим функцию <code>SendOrder</code>, которая будет отправлять заказы к ведомому боту:

note: type: Plain text
en: The <code>while</code> loop waits until a pending order has been terminated, that is the slaved has exited from the <code>get</code> method.
    Now the main program of the master is very simple:
ru: <code>Цикл</code> ждет, пока ожидаемая заявка не будет выполнена.
    Пока программа для ведущего бота довольно проста:

note: type: Plain text
en: <format key><key help/></format> show these instruction at any time.
ru: Клавиша <format key><key help/></format> показывает эту инструкцию в любое время.

note: type: \t; header
en: See also
ru: Смотри также

note: type: Plain text
en: <a command>Controls</a> and <a cbot>programming</a>.
ru: <a cbot>Язык CBOT</a>, <a cbot|type>Переменные</a> и <a cbot|category>Категории</a>.
