Создание заданий для исполнителя Робот
Опишем последовательность создания группы заданий для исполнителя Робот. Создадим модуль RobTasks.pas со следующим текстом:
unit RobTasks;
interface
uses RobotTaskMaker;
implementation
procedure FirstRob;
begin
TaskText('Задание myrob1. Закрасить помеченные клетки');
Field(10,6);
HorizontalWall(0,3,4);
VerticalWall(4,3,2);
RobotBegin(1,4);
VerticalWall(5,1,5);
HorizontalWall(5,1,4);
RobotEnd(6,2);
Tag(6,2);
end;
begin
RegisterGroup('myrob','Мои задания для Робота','RobTasks',2);
RegisterTask('myrob1',FirstRob);
end.
Наберем и запустим основную программу (сохранять ее в каком-либо файле не требуется):
uses Robot, RobTasks;
begin
Task('myrob1');
end.
Будет выведено следующее задание для Робота:
Добавим задание, в котором конфигурация поля случайна:
procedure SecondRob;
var n,i: integer;
begin
TaskText('Задание myrob2. Закрасить клетки под закрашенными');
n:=Random(4)+7;
Field(n,4);
RobotBeginEnd(1,3,n,3);
MarkPainted(n,2);
Tag(n,3);
for i:=2 to n-1 do
if Random(3)=1 then
begin
MarkPainted(i,2);
Tag(i,3);
end;
end;
Добавим вызов процедуры регистрации для данного задания; в результате секция инициализации примет следующий вид:
begin
RegisterGroup('myrob','Мои задания для Робота','RobTasks',2);
RegisterTask('myrob1',FirstRob);
RegisterTask('myrob2',SecondRob);
end.
Изменим основную программу:
uses Robot, RobTasks;
begin
Task('myrob2');
end.
При запуске этой программы в окне исполнителя Робот будет выведено новое задание:
При первом запуске программы с подключенным модулем DMTasks
созданная нами группа была автоматически зарегистрирована
в мастере по созданию программ-заготовок PT4Load.
Если теперь нажать кнопку и в появившемся окне
PT4Load ввести префикс
RB
в поле «Задание», то окно примет следующий вид:
Мы видим, что группа заданий myrob появилась в списке доступных групп для исполнителя Робот. Наберем имя задания
myrob1
:
После нажатия Enter в рабочем каталоге будет создан новый файл RBmyrob1.pas со следующим содержимым:
uses Robot, RobTasks;
begin
Task('myrob1');
end.
Можно приступать к решению собственноручно разработанной задачи :)