Разработка нового задания является достаточно большим процессом и включает в себя несколько этапов. Рекомендуется выполнение последующего этапа только после завершения предыдущего. Итак,
Есть 2 способа создания: писать самому вручную или с использованием редактора. Редактор можно загрузить здесь.
Данный файл используется при загрузке задания на экран. Все, что касается расположения входных или выходных контактов, ссылок, комментариев прописывается в этом файле. Он представляет собой обычный текстовый файл. Название его обязательно 1.txt. Он в себе содержит:
Скопировать все созданные файлы(1.prd, 1.txt, *.gif) в папку с названием 1, или 2:, символизирующем номер задачи. В эту же папку добавить файлы task.cfg, taskeng.htm, taskrus.htm, task.xml, их можно взять из приведенных здесь примеров заданий. В файле task.xml необходимо прописать русское и английское название задачи и автора. Не менять количество баллов на задачу(100) и тип задания(16). Потом все сжать в архив и отправить его в дельту.
Пример готового файла 1.txt:
Разбор текста:
Главное устройство называется le, пользователь не может редактировать входные данные. Рисунок называется main.gif. Входных 3 контакта, на выходе 1 контакт. Есть вложенное устройство, координаты его 70 30, называется оно first. Далее описывается вложенное устройство first. Его рисунок first.gif. Во вложенном устройстве 2 входных контакта, 1 выходной. В конце описания всех устройств - комментарий.
Некоторые пояснения к разработке задания:
Особенности подержки памяти:
Если используется ПЗУ, то нужна прошивка памяти. Прошивка памяти представляет собой файл с содержимым памяти. Он должен лежать в одной папке с проектным файлом(*.prd). hlccad поддерживает разные форматы прошивок, я занимался только с форматом mem. В файле с параметрами между значками ^ указывается часть теста, который будет вставлен в начало будущего тестового файла. Т.е, в тестовом файле, который вместе с самим проектом будет отправлен в hlccad на проверку, в начале файла прописывается все что между ^, а потом добавляются ответы пользователя. Это сделано для возможности задания начальных значений на микросхемы памяти. Значения на контактах ПЗУ можно описать в комментариях(между &), их же там можно и просмотреть. Начальные значения ОЗУ - между ^ . Просмотреть содержимое ОЗУ в момент решения задания невозможно, так как нельзя предугадать, когда будет происходить запись в ОЗУ.
Внимание:
Может возникнуть проблема такого рода: видны входные и выходные контакты, но не отображается рисунок. Для исправления необходимо убедиться, что в архиве название файла с рисунком совпадает с прописанным именем этого рисунка в файле 1.txt. Некоторые архиваторы самовольно переименовывают файлы к верхнему регистру.
Появилась возможность использования в качестве исходных данных тестов разработчика. Тесты представляют собой файлы в формате HLLCADa. Их может произвольное количество - как самих файлов, так и количество тестов в файле. Для примера смотрите архив задания
Формат описания такой:
В комментариях для заданмя, т.е. между символами & пишутся одна или несколько таких строчек:
Названия файлов могут быть любыми, но расширения - обязательно in,причем маленькими буквами.
Программа случайным образом загрузит один из файлов и его данные подаст на входы устройства. Тестов в файле может быть любое количество.
P.S.
Здесь находится пример архива задания с вложенными устройствами.
Здесь находится пример архива задания с шинами.
Здесь находится пример архива задания с ПЗУ.
Здесь находится пример архива задания с ОЗУ.
Здесь находится прмер архива задания с тестами
разработчика.
P.P.S. Пожелания и замечания отсылайте на Vkulaga@gsu.by