← Конструктор заданийСимулятор КуМир

Инструкция для педагога

Пять категорий — пять файлов

Симулятор читает задания из JSON при открытии страницы. В каждом файле находится вся категория: названия и условия заданий, количество полей и конфигурация каждого поля. Сейчас в первых четырёх файлах по 10 заданий, в ОГЭ — 20. Количество можно менять в конструкторе.

1. Подготовьте файл в конструкторе

  1. Откройте конструктор и выберите категорию. При первом открытии на сайте он загружает существующие задания. В дальнейшем открывает сохранённый черновик этого браузера.
  2. Чтобы редактировать актуальный файл с сайта, скачайте его по ссылке в таблице ниже и нажмите «Открыть JSON». Импорт заменяет черновик соответствующей категории.
  3. Выберите задание или добавьте новое. Заполните название и условие. Добавьте нужное количество полей: от 1 до 8.
  4. Для каждого поля задайте строки и столбцы (от 1 до 30), затем нажмите «Применить размер». Выберите инструмент и нажимайте клетки: Робот, закрасить, начальная закраска, стена по нужному краю. Повторное нажатие убирает стену или отметку. Внешняя граница поля всегда закрыта.
  5. Конечное положение Робота не влияет на выполнение задания. Начальный код необязателен и виден ученику сразу — не помещайте туда скрытый ответ.
  6. Нажмите «Скачать файл категории». Конструктор проверит данные и сохранит JSON с правильным именем. Одна программа ученика должна успешно пройти все поля задания.

2. Положите файл в нужное место

В исходном проекте «сайт метод мастерская» используются ровно пять мест:

КатегорияФайл в проектеТекущий файл
01 · Линейный алгоритмpublic/kumir/tasks/linear.jsonСкачать
02 · Алгоритм с ветвлениемpublic/kumir/tasks/branch.jsonСкачать
03 · Цикл ПОКАpublic/kumir/tasks/while.jsonСкачать
04 · Цикл РАЗpublic/kumir/tasks/repeat.jsonСкачать
05 · Задания ОГЭpublic/kumir/tasks/oge.jsonСкачать

Замените только файл нужной категории. Скачанный файл содержит всю категорию, поэтому перед созданием дополнений открывайте текущий JSON, чтобы сохранить остальные задания. Не меняйте имя файла и расширение .json. Если браузер добавил к имени «(1)», уберите эту часть.

3. Обновите сайт

Для этого проекта после замены файла выполните сборку npm run build и повторно опубликуйте сайт. На работающем сервере разработки достаточно обновить страницу. На обычном статическом хостинге JSON размещается по адресу /kumir/tasks/имя.json относительно корня сайта — папка public в адрес не входит.

Обновите симулятор: количество заданий изменится автоматически. Если файл отсутствует или содержит ошибку, симулятор покажет его имя и причину. Исправьте файл и обновите страницу. При изменении полей задания прежнее выполнение не засчитывается для новой конфигурации; данные прогресса остаются локальными для браузера и адреса сайта.

Отдельное приложение без установки

Скачать конструктор ZIP. Распакуйте архив и откройте index.html. Для работы без сервера нажмите «Открыть JSON» и выберите один из пяти файлов в папке tasks либо свой файл с сайта. Загрузка соседних файлов напрямую браузером может быть запрещена при открытии с диска; ручной импорт и скачивание работают без сервера. Сам симулятор запускайте через сайт или локальный сервер.

Формат файла

Координаты в JSON начинаются с нуля и записываются как [строка, столбец]. В интерфейсе конструктора отсчёт начинается с единицы. Стена — пара соседних клеток; её направление не важно. Границы поля добавляются автоматически.

{
  "version": 1,
  "category": "linear",
  "tasks": [{
    "id": "linear-1",
    "title": "Первый шаг",
    "description": "Шагните вправо и закрасьте клетку.",
    "starterCode": "",
    "fieldCount": 1,
    "fields": [{
      "rows": 3,
      "cols": 5,
      "robot": [1, 1],
      "walls": [[[0, 0], [0, 1]]],
      "targets": [[1, 2]],
      "painted": []
    }]
  }]
}

id — уникальное имя задания внутри категории; сохраняйте его при редактировании. fieldCount совпадает с длиной fields. targets — клетки, которые должны быть закрашены в конце; лишняя закраска не допускается, кроме клеток из painted, закрашенных изначально. Конечная позиция Робота не проверяется. Поле end в старых файлах игнорируется при проверке решения. В категории допустимо от 1 до 100 заданий. Конструктор проверяет формат, но достижимость цели нужно проверить запуском программы в симуляторе.