132 lines
7.9 KiB
HTML
132 lines
7.9 KiB
HTML
<html>
|
||
|
||
<head>
|
||
<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
||
<param name="Keyword" value="TaskProcType">
|
||
<param name="Keyword" value="Field">
|
||
<param name="Keyword" value="HorizontalWall">
|
||
<param name="Keyword" value="VerticalWall">
|
||
<param name="Keyword" value="RobotBegin">
|
||
<param name="Keyword" value="RobotEnd">
|
||
<param name="Keyword" value="RobotBeginEnd">
|
||
<param name="Keyword" value="Tag">
|
||
<param name="Keyword" value="TagRect">
|
||
<param name="Keyword" value="MarkPainted">
|
||
<param name="Keyword" value="TaskText">
|
||
<param name="Keyword" value="RegisterTask">
|
||
<param name="Keyword" value="RegisterGroup">
|
||
</object>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
|
||
<title></title>
|
||
<link rel="StyleSheet" href="../../default.css">
|
||
</head>
|
||
|
||
<body>
|
||
<H1>Модул<span lang="ru">ь </span>RobotTaskMaker</H1>
|
||
<hr>
|
||
<table border="0" width="100%" id="table1" style="border-width: 0px" cellpadding="8">
|
||
<tr height=20pt>
|
||
<td style="border-style:none; border-width:medium; background-color: #99CCFF">
|
||
<b><font size="2" color="#800080"><span lang="ru">Типы</span> модуля </font></b>
|
||
<font size="2" color="#800080"><b>RobotTaskMaker</b></font></td>
|
||
</tr>
|
||
</table>
|
||
|
||
<blockquote>
|
||
<p><code><b>type</b> TaskProcType<span lang="ru"> </span>=<b><span lang="ru">
|
||
</span>procedure</b>;</code></p>
|
||
</blockquote>
|
||
<p>Тип процедуры, генерирующей конкретное задание.
|
||
Каждое задание реализуется в виде отдельной процедуры; для связывания этой процедуры
|
||
с именем задания необходимо использовать процедуру <code>RegisterTask</code>, описываемую ниже.
|
||
</p>
|
||
<table border="0" width="100%" id="table2" style="border-width: 0px" cellpadding="8">
|
||
<tr height=20pt>
|
||
<td style="border-style:none; border-width:medium; background-color: #99CCFF">
|
||
<b><font size="2" color="#800080">Процедуры модуля </font></b>
|
||
<font size="2" color="#800080"><b>RobotTaskMaker</b></font></td>
|
||
</tr>
|
||
</table>
|
||
|
||
<blockquote>
|
||
<p><code><b>procedure</b> Field(szx,szy: integer); </code></p>
|
||
</blockquote>
|
||
<p><span lang="ru">Задает поле Робота размера </span><code>szx</code>
|
||
<span lang="ru">на </span><code>szy</code> <span lang="ru">клеток</span>.</p>
|
||
<blockquote>
|
||
<p><code><b>procedure</b> HorizontalWall(x,y,len: integer); </code></p>
|
||
</blockquote>
|
||
<p><span lang="ru">Создает горизонтальную стену длины </span><code>len</code><span lang="ru">
|
||
и координатами левого верхнего угла (</span><code>x</code>,<span lang="ru">
|
||
</span><code>y</code>)<span lang="ru">.</span></p>
|
||
<blockquote>
|
||
<p><code><b>procedure</b> VerticalWall(x,y,len: integer); </code></p>
|
||
</blockquote>
|
||
<p><span lang="ru">Создает вертикальную стену длины </span><code>len</code><span lang="ru">
|
||
и координатами левого верхнего угла (</span><code>x</code>,<span lang="ru">
|
||
</span><code>y</code>)<span lang="ru">.</span></p>
|
||
<blockquote>
|
||
<p><code><b>procedure</b> RobotBegin(x,y: integer); </code></p>
|
||
</blockquote>
|
||
<p><span lang="ru">Задает начальное положение Робота в клетке с координатами (</span><code>x</code>,<span lang="ru">
|
||
</span><code>y</code>)<span lang="ru">.</span></p>
|
||
<blockquote>
|
||
<p><code><b>procedure</b> RobotEnd(x,y: integer); </code></p>
|
||
</blockquote>
|
||
<p><span lang="ru">Задает конечное положение Робота в клетке с координатами (</span><code>x</code>,<span lang="ru">
|
||
</span><code>y</code>)<span lang="ru">.</span></p>
|
||
<blockquote>
|
||
<p><code><b>procedure</b> RobotBeginEnd(x,y,x1,y1: integer); </code></p>
|
||
</blockquote>
|
||
<p><span lang="ru">Задает начальное положение Робота в клетке с координатами (</span><code>x</code>,<span lang="ru">
|
||
</span><code>y</code>)<span lang="ru"> и конечное в клетке с координатами (</span><code>x<span lang="ru">1</span></code>,<span lang="ru">
|
||
</span><code>y<span lang="ru">1</span></code>)<span lang="ru">.</span></p>
|
||
<blockquote>
|
||
<p><code><b>procedure</b> Tag(x,y: integer); </code></p>
|
||
</blockquote>
|
||
<p><span lang="ru">Помечает клетку (</span><code>x</code>,<span lang="ru">
|
||
</span><code>y</code>)<span lang="ru"> для закрашивания.</span></p>
|
||
<blockquote>
|
||
<p><code><b>procedure</b> TagRect(x,y,x1,y1: integer); </code></p>
|
||
</blockquote>
|
||
<p><span lang="ru">Помечает прямоугольник из клеток, задаваемый координатами
|
||
противоположных вершин прямоугольника (</span><code>x</code>,<span lang="ru">
|
||
</span><code>y</code>)<span lang="ru"> и (</span><code>x<span lang="ru">1</span></code>,<span lang="ru">
|
||
</span><code>y<span lang="ru">1</span></code>)<span lang="ru">, для
|
||
закрашивания.</span></p>
|
||
<blockquote>
|
||
<p><code><b>procedure</b> MarkPainted(x,y: integer); </code></p>
|
||
</blockquote>
|
||
<p><span lang="ru">Закрашивает клетку (</span><code>x</code>,<span lang="ru">
|
||
</span><code>y</code>)<span lang="ru"> (в задании некоторые клетки могут быть
|
||
уже закрашены).</span></p>
|
||
<blockquote>
|
||
<p><code><b>procedure</b> TaskText(s: <b>string</b>); </code></p>
|
||
</blockquote>
|
||
<p><span lang="ru">Задает формулировку текста задания в строке </span><code>s</code><span lang="ru">.</span></p>
|
||
<blockquote>
|
||
<p><code><b>procedure</b> RegisterGroup(name,description,unitname: string; count: integer); </code></p>
|
||
</blockquote>
|
||
<p>Обеспечивает автоматическую регистрацию новой группы заданий в программном модуле <b>PT4Load</b>.
|
||
В результате имя данной группы будет отображаться в окне модуля <b>PT4Load</b> в списке групп, связанных с исполнителем Робот,
|
||
что позволит создать программу-заготовку для выполнения любого задания этой группы.
|
||
В качестве параметров процедуры указывается имя группы <code>name</code>,
|
||
краткое описание группы <code>description</code>,
|
||
имя модуля <code>unitname</code>, в котором описана группа, и количество заданий <code>count</code>.
|
||
Имя группы заданий должно содержать не более 7 символов (цифр и латинских букв) и не должно оканчиваться цифрой,
|
||
количество заданий не должно превышать 999.
|
||
Процедура <code>RegisterGroup</code> должна
|
||
вызываться в секции инициализации модуля, содержащего реализацию новой группы заданий для Робота.
|
||
</p>
|
||
<blockquote>
|
||
<p><code><b>procedure</b> RegisterTask(name: string; p: TaskProcType);</code>
|
||
</blockquote>
|
||
<p>Связывает имя задания <code>name</code> с процедурой <code>p</code>, в которой реализовано данное задание.
|
||
Данную процедуру следует вызывать для <i>каждого</i> задания.
|
||
Подобно описанной выше процедуре <code>RegisterGroup</code>, процедура <code>RegisterTask</code> должна вызываться в секции инициализации
|
||
модуля, содержащего реализацию новой группы заданий для Робота. Порядок вызова этих процедур может быть произвольным.
|
||
</p>
|
||
</body>
|
||
|
||
</html>
|