Это инструмент для создания, проигрывания и обмена логическими задачами на переправы (лодка/мост/лифт и т. п.).
ПРИМЕР ЗАДАЧИ:
После долгого путешествия на левом берегу реки остановились пять гномов, которые тащат с собой большой мешок с золотом. В их распоряжении имеется одна лодка грузоподъёмностью 70 кг, которая проплывает от одного берега до другого за 6 минут (вне зависимости от нагрузки). Известно, что каждый из гномов весит 20 кг, а мешок с золотом – 50 кг. Золото нельзя оставлять на берегу без присмотра, кто-то из гномов должен всегда быть рядом с мешком. Помогите гномам переправиться через реку за 30 минут. (источник задачи)
ЗАПУСТИТЬ КОНСТРУКТОР С ЗАДАЧЕЙ ПРИМЕРОМ
Откройте вкладку «Конструктор».
Все шаги свёрнуты — раскройте нужный.
Шаг 1. Обстановка
Выберите тип сцены:
«Горизонтальное перемещение» (река/мост/лес/пустыня/пещера/железная дорога)
«Вертикальное перемещение» (лифт/лебёдка/лестница/верёвка)
Настройте имена точек (например, «Левый берег» и «Правый берег»), оформление, пределы вместимости/массы (0 - без ограничений), лимиты по времени и по числу переправ. При желании отключите визуальную платформу («Отображать платформу» = Нет), если переправа осуществляется отрядами или как-то иначе.
Шаг 2. Персонажи и объекты
По одному добавляйте участников: имя, эмодзи из списка, группа/категория, «Время перемещения» (мин; 0 - не учитывать), вес (0 - не учитывать), стартовая сторона, флажок «Может управлять платформой/группой», при необходимости — идентификатор «Неразделимой группы» (связки, например, преступник под конвоем полицейского или неразлучные подружки-болтушки :) ).
Шаг 3. Правила
Парные запреты: отметьте, кто (A) не может находиться с кем (B) без присмотра кого-то из (C). Отдельно задайте контекст:
«Нельзя оставлять A и B на „Начало“ / „Конец“ без присмотра C» и/или «Нельзя перемещаться A и B без C».
Правило большинства: «X не в меньшинстве относительно Y» (выбор из уже заведённых групп).
Обязательное присутствие на платформе: отметьте, кто обязательно должен быть в каждом рейсе (список).
Шаг 4. Условия окончания
Либо «Игра бесконечная», либо добавляйте цели:
— цель по персонажу или по группе, и на какой стороне он/они должны оказаться.
Шаг 5. Сохранение и запуск
Нажмите «Старт / Тест» — вы перейдёте во вкладку «Игра».
Для обмена задачами воспользуйтесь любым из трёх способов:
Ссылка с параметрами — в адресной строке можно скопировать ссылку на страницу - она уже будет содержать все настройки.
Сохранить JSON и «Загрузить JSON» — офлайн-файлы.
data-код — код для вставки в поле импорта.
Примечание: при открытии страницы по ссылке конфигурация загрузится автоматически, конструктор заполняется и запускается режим «Игра».
Сцена (2D, вид сбоку).
Кнопка запуска прямо на сцене:
Горизонтально: «Запустить →/←».
Вертикально: «Запустить ↑/↓».
Если визуальная платформа выключена — по краям показываются две кнопки отправки групп в соответствующие стороны.
Индикатор загрузки/вместимости платформы — двойная горизонтальная шкала с подписями:
верхняя полоса — занято / вместимость (если вместимость ≠ 0);
нижняя полоса — текущая масса / лимит массы (если лимит массы ≠ 0).
Логи формируются автоматически внизу блока игры. Каждый рейс/переход пронумерован, время добавляется только если у участников задано «Время перемещения».
Если платформа отображается (лодка/машина/лифт/вагонетка/верблюд):
Клик по персонажу на той же стороне, где платформа — посадка; повторный клик — высадка.
При связке («Неразделимая группа») садятся/выходят все из связки.
Нажмите «Запустить …», чтобы выполнить рейс.
Если платформа скрыта (перемещение «в припрыжку»):
Клик по персонажам — выделение группы (подсветка).
Нажмите кнопку «Запустить» со стороны отправления.
Подсказки: наведите мышь на персонажа — всплывающая подсказка с характеристиками («группа», «вес», «время», «Осуществляет переправу», «связка»).
Кнопка «Сброс» вернёт всех на стартовые стороны и обнулит счётчики.
Вместимость и масса
«Вместимость платформы» = 0 — ограничения по количеству нет.
«Лимит массы» = 0 — ограничения по весу нет.
Кто может запускать рейс
В составе перевозимых обязательно должен быть кто-то с флажком «Может управлять платформой/группой».
Если в «Обязательное присутствие на платформе» отмечены участники — хотя бы один из них тоже должен быть на борту (или в группе при скрытой платформе).
Парные запреты
Проверяются:
при самой переправе (если включено «Нельзя переправлять A и B без C»);
после прибытия — на каждой стороне, где включено «Нельзя оставлять A и B … без присмотра C».
Если правило нарушено, ход отменяется и выводится сообщение в лог.
Правило большинства
«X не в меньшинстве относительно Y» — проверяется на каждой стороне после хода. Если Y > X — нарушение.
Неразделимая группа («связка»)
Участники с одинаковым идентификатором связки не могут оказаться на разных сторонах; попытка разделить — ошибка.
Учёт времени
«Время перемещения» задаётся на участнике (минуты). Время рейса/перехода — максимум среди передвигаемых. Если у всех 0, то время не учитывается.
Тип сцены:
Горизонтальное перемещение — варианты оформления: «Берега (лодка)», «Мост (машина)», «Железная дорога (вагонетка)», «Пещера (внутри)», «Лес», «Пустыня (барханы)».
Вертикальное перемещение — «Лифт в доме», «Лебёдка», «Лестница», «Верёвка».
Отображать платформу: Да/Нет. При «Нет» — персонажи переходят группой с анимацией, но правила и лимиты сохраняются.
Вместимость платформы (0 = нет): предел числа пассажиров за рейс/переход.
Лимит массы (0 = нет): суммарный вес перевозимых.
Начальная точка / Конечная точка: свободные подписи (например, «Берег А», «Берег Б» или «Этаж 1», «Этаж 9»). Отражаются в сцене, логах и настройках.
Лимит времени перемещений (мин): общее время на задачу (0 = нет).
Лимит количества переправ: общий лимит ходов (0 = нет).
Имя (подписывается на круге поверх эмодзи).
Эмодзи из выпадающего списка (люди/профессии/животные/предметы).
Категория/группа (строка, например: волки
, зайцы
, дети
, рыцари и т. д.
).
Время перемещения (мин; 0 — не учитывается).
Вес (для учёта лимита массы; 0 — не учитывается).
Стартовая сторона при начале игры («Начальная точка» или «Конечная точка»).
Может управлять платформой/группой — флажок. В подсказке отображается как «Осуществляет переправу».
Неразделимая группа (идентификатор) — одинаковое значение объединяет в связку из персонажей.
Кнопки: «Добавить» / «Очистить». В списке уже созданных: «Изм.» (подставляет данные в форму) и «×» (удаление).
Парные запреты: A нельзя с B без (любой из) C
A — галочками выберите участников;
B — галочками выберите участников;
C — кто присматривает — галочками (пусто = без присмотра нельзя);
Контекст:
«Нельзя оставлять A и B на „Начало“ без присмотра C»
«Нельзя оставлять A и B на „Конец“ без присмотра C»
«Нельзя переправлять A и B без C»
Правило большинства: выберите X-группу и Y-группу из заведённых групп.
Обязательное присутствие на платформе: отметьте участников.
Все добавленные правила сводятся в список ниже шага.
Игра бесконечная — без целей.
Конечные цели:
Тип «Персонаж» — выбрать участника и сторону.
Тип «Группа «Название»» — выбрать имя группы и сторону.
Можно добавлять несколько целей; задача выполнена, когда все цели будут одновременно достигнуты.
Старт / Тест — перейти к проигрыванию ситуации.
Сохранить JSON / Загрузить JSON — файлы для офлайн-обмена.
data-код — компактная строка для вставки/ввода без файлов.
Можно ли без платформы?
Да. В «Обстановке» выключите «Отображать платформу». Перемещения идут группами, но все правила/лимиты сохраняются. Кнопки отправки появятся по сторонам.
Почему ход отменился?
Нарушено правило (парный запрет, меньшинство, связка, обязательное присутствие) или превышен лимит (вместимость/масса/ходы/время). В логах есть пояснение.
Как считается время?
Максимум «Время перемещения» среди участников рейса. Если у всех 0 — время не прибавляется и в логах не выводится.
Что значит «Вместимость 0» и «Лимит массы 0»?
Это отключение соответствующего ограничения.
Как поделиться задачей?
Скопируйте ссылку или сохраните/передайте файл JSON (или data-код).