pascalabcnet/PABCNetHelp/ForEducation/MakeModules/RobotMakeCreation.html

115 lines
5.6 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<html>
<head>
<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
<param name="Keyword" value="">
</object>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title></title>
<link rel="StyleSheet" href="../../default.css">
</head>
<body>
<H1>Создание заданий для исполнителя Робот</H1>
<hr>
<p><span lang="ru">Опишем последовательность создания группы заданий для
исполнителя Робот. Создадим модуль </span>RobTasks.pas со следующи<span lang="ru">м
текстом:</span></p>
<blockquote>
<p><code><b>unit</b> RobTasks;</code></p>
<p><code><b>interface</b></code></p>
<p><code><b>uses</b> RobotTaskMaker;</code></p>
<p><code><b>implementation</b></code></p>
<p><code><b>procedure</b> FirstRob;<br>
<b>begin</b><br>
<span lang="ru">&nbsp; </span>TaskText('Задание myrob1. Закрасить помеченные клетки');<br>
<span lang="ru">&nbsp; </span>Field(10,6);<br>
<span lang="ru">&nbsp; </span>HorizontalWall(0,3,4);<br>
<span lang="ru">&nbsp; </span>VerticalWall(4,3,2);<br>
<span lang="ru">&nbsp; </span>RobotBegin(1,4);<br>
<span lang="ru">&nbsp; </span>VerticalWall(5,1,5);<br>
<span lang="ru">&nbsp; </span>HorizontalWall(5,1,4);<br>
<span lang="ru">&nbsp; </span>RobotEnd(6,2);<br>
<span lang="ru">&nbsp; </span>Tag(6,2);<br>
<b>end</b>;</code></p>
<p><code><b>begin</b><br>
&nbsp; RegisterGroup('myrob','Мои задания для Робота','RobTasks',2);<br>
&nbsp; RegisterTask('myrob1',FirstRob);<br>
<b>end</b>.</code></p>
</blockquote>
<p><span lang="ru">Наберем и запустим основную программу (сохранять ее в каком-либо файле не требуется):</span></p>
<blockquote>
<p><code><b>uses</b> Robot, RobTasks;<br>
<b>begin</b><br>
&nbsp; Task('myrob1');<br>
<b>end</b>.</code></p>
</blockquote>
<p>Будет выведено следующее задание для Робота:
</p>
<p><img border="0" src="images/rbmake1.PNG"></p>
<p><span lang="ru">
Добавим задание, в котором конфигурация поля случайна:</span></p>
<blockquote>
<p><code><b>procedure</b> SecondRob;<br>
<b>var</b> n,i: integer;<br>
<b>begin</b><br>
<span lang="ru">&nbsp; </span>TaskText('Задание myrob2. Закрасить клетки под закрашенными');<br>
<span lang="ru">&nbsp; </span>n:=Random(4)+7;<br>
<span lang="ru">&nbsp; </span>Field(n,4);<br>
<span lang="ru">&nbsp; </span>RobotBeginEnd(1,3,n,3);<br>
<span lang="ru">&nbsp; </span>MarkPainted(n,2);<br>
<span lang="ru">&nbsp; </span>Tag(n,3);<br>
<span lang="ru">&nbsp; </span><b>for</b> i:=2 <b>to</b> n-1 <b>do</b><br>
<span lang="ru">&nbsp;&nbsp;&nbsp; </span><b>if</b> Random(3)=1 <b>then</b><br>
<span lang="ru">&nbsp;&nbsp;&nbsp; </span><b>begin</b><br>
<span lang="ru">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>MarkPainted(i,2);<br>
<span lang="ru">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Tag(i,3);<br>
<span lang="ru">&nbsp;&nbsp;&nbsp; </span><b>end</b>;<br>
<b>end</b>;</code></p>
</blockquote>
<p>Добавим вызов процедуры регистрации для данного задания; в результате секция инициализации примет следующий вид:</p>
<blockquote>
<p><code><b>begin</b><br>
&nbsp; RegisterGroup('myrob','Мои задания для Робота','RobTasks',2);<br>
&nbsp; RegisterTask('myrob1',FirstRob);<br>
&nbsp; RegisterTask('myrob2',SecondRob);<br>
<b>end</b>.</code></p>
</blockquote>
<p><span lang="ru">Изменим основную программу:</span></p>
<blockquote>
<p><code><b>uses</b> Robot, RobTasks;<br>
<b>begin</b><br>
&nbsp; Task('myrob<span lang="ru">2</span>');<br>
<b>end</b>.</code></p>
</blockquote>
<p><span lang="ru">При запуске этой программы в окне исполнителя Робот будет выведено новое задание:</p>
<p><img border="0" src="images/rbmake2.PNG"></p>
<p>
При первом запуске программы с подключенным модулем <code>DMTasks</code> созданная нами группа была автоматически зарегистрирована
в мастере по созданию программ-заготовок <b>PT4Load</b>.
Если теперь нажать кнопку&nbsp;<img border="0" src="images/load.gif" width="16" height="17">&nbsp;и в появившемся окне
<b>PT4Load</b> ввести префикс
</span><span lang="en-us"><code>RB</code></span><span lang="ru"> в поле &laquo;Задание&raquo;, то окно примет следующий вид:
&nbsp;</span></p>
<p><img border="0" src="images/rbmake3.PNG">
&nbsp;</p>
<p>Мы видим, что группа заданий myrob появилась в списке доступных групп для исполнителя Робот. Наберем имя задания
<span lang="en-us"><code>myrob1</code></span>:</p>
<p><img border="0" src="images/rbmake4.PNG">
&nbsp;</p>
<p>После нажатия <span lang="en-us">Enter </span>в рабочем каталоге будет создан
новый файл <span lang="en-us">RBmyrob1.pas </span>со следующим содержимым:</p>
<blockquote>
<p><code><b>uses</b> Robot, RobTasks;<br>
<br>
<b>begin</b><br>
&nbsp; Task('myrob1');<br>
<br>
<b>end</b>.</code></p>
</blockquote>
<p>Можно приступать к решению собственноручно разработанной задачи :)</p>
</body>
</html>