РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
126 of 126 menu

Картинка в пазл

Реализуйте библиотеку для превращения картинок в пазлы.

Основные возможности проекта

  • Библиотека для превращения картинок в пазлы.
  • Настройка сложности (количество фрагментов по горизонтали и вертикали).
  • Перемешивание фрагментов.
  • Перетаскивание фрагментов мышью.
  • Подсчет времени сборки.
  • Публикация на GitHub с документацией.

Функциональность библиотеки

Библиотека должна предоставлять следующие возможности:

  • Загрузка изображения и его отображение на canvas.
  • Разбиение изображения на фрагменты по сетке (rows × cols).
  • Перемешивание фрагментов (с возможностью сохранения одного фрагмента на месте).
  • Перетаскивание фрагментов мышью (drag-and-drop).
  • Подсчет времени сборки (секундомер).
  • Подсчет количества ходов.

Параметры настройки

При создании пазла можно задавать параметры:

  • image - ссылка на изображение или HTML-элемент.
  • rows - количество строк фрагментов.
  • cols - количество столбцов фрагментов.
  • shuffle - процент перемешивания (0-100).
  • onComplete - callback при завершении сборки.

Структура пазла

Пазл должен отображаться на canvas. При разбиении на фрагменты каждый фрагмент помещается в отдельную ячейку сетки. Фрагменты можно перетаскивать, меняя их местами. При правильной сборке все фрагменты становятся на свои места и отображается картинка целиком.

Интерактивность

Взаимодействие с пазлом через мышь:

  • Клик по фрагменту - выделение.
  • Клик по пустой ячейке - перемещение выделенного фрагмента.
  • Drag-and-drop - перетаскивание фрагмента на другую ячейку.

Использование библиотеки

Пример использования библиотеки:

  • Подключить CSS-файл со стилями пазла.
  • Подключить JS-файл с библиотекой.
  • Создать контейнер для пазла.
  • Инициализировать пазл с настройками.

События

Библиотека должна генерировать события:

  • onShuffle - после перемешивания фрагментов.
  • onMove - при каждом перемещении фрагмента.
  • onComplete - при завершении сборки пазла.

Публикация на GitHub

Библиотека должна быть выложена на GitHub с:

  • README.md с описанием и инструкцией по установке.
  • Демо-страницей с примерами использования.
  • Исходным кодом библиотеки.

Тестирование

Библиотека должна быть протестирована на:

  • Разных браузерах (Chrome, Firefox, Safari, Edge).
  • Разных размерах изображений.
  • Разной сложности (3x3, 4x4, 5x5).

Дополнительные возможности

  • Автоматическая сборка пазла (кнопка "Собрать").
  • Анимация перемещения фрагментов.
  • Запись и воспроизведение ходов сборки.
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить