en to ru translation catalogue (23 entries)

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

note: type: Resume-text
en: Remote control a bot without using an information exchange post by defining a class for the orders.
ru: Дистанционное управление ботом без использования поста обменом информацией, используя только статичные классы для заявок.

note: type: \b; header
en: Exercise
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 <code><a cbot|static>static</a></code> variable to pass the orders to the slave bot.
ru: Дистанционное управление ботом без использования <a object|exchange>поста обменом информацией</a>. Бот должен проехать по 6 синим отметкам. Вам придется использовать <code><a cbot|static>статичные</a></code> переменные для отправки заявок ведомому боту.

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>order</code> contains two members: <code>m_type</code> is the order to execute (move or turn) and <code>m_param</code> is the distance to move or the rotation angle:
ru: Прежде всего нужно понять, как программа работает. <a cbot|class>Класс</a> <code>order</code> содержит в себе две части: <code>m_type</code> для заявок на выполнение (движение или поворот) и <code>m_param</code> для дистанции или угла поворота:

note: type: Plain text
en: A second <a cbot|class>class</a> <code>exchange</code> contains the mechanism for exchanging 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 <code>m_order</code> is different from <code><a cbot|nan>nan</a></code>, the slave has not finished the order and the <code>put</code> method will return <code>false</code> and will do nothing:
ru: Метод <code>"put"</code> позволит ведущему боту передавать команды. Пока значение переменной <code>m_order</code> отличается от <code><a cbot|nan>nan</a></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 order to be executed:
ru: Другой метод <code>get</code> может быть использован ведомым ботом для получения задания. Этот метод возвращает в строку <code>m_order</code> заявку(order) на выполнение работы:

note: type: Plain text
en: A third method <code>delete</code> will be used by the slave to indicate that the order has been executed:
ru: Третий метод <code>delete</code> служит ведомому боту для индикации состояния выболнения заявки:

note: type: Plain text
en: The main program of the slave contains an instance of the class <code>exchange</code> called <code>list</code>. We put () after the word <code>list</code> in order to create an instance of the class <code>exchange</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 value different from <code>nan</code>, the while loop stops.
ru: Внешний <code>цикл</code> длится вечно. Внутренний <code>цикл</code> ждет заявку с помощью метода <code>get</code> и <code>exchange</code> класса. Как только метод <code>get</code> вернет значение, отличное от <code>nan</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: Plain text
en: As soon as the execution of the order is finished, we must call the <code>delete</code> method so the master knows that another order can be sent:
ru: Как только поданая заявка выполнена, мы можем использовать метод <code>delete</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 and the <code>delete</code> method has been called.
    Now the main program of the master is very simple:
ru: Цикл <code>while</code> будет ждать, пока заявка не будет выполнена и пока ведомый бот не вызовет методы <code>get</code> и <code>delete</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>.
