Генератор сканвордов
Реализуйте сайт, генерирующий уникальные сканворды.
Основные возможности проекта
- Добавление вопросов и ответов пользователем.
- Хранение базы вопросов и ответов в localStorage.
- Генерация сканворда из добавленных слов.
- Отображение сетки сканворда и списка вопросов.
Управление словами
На странице должна быть форма для добавления новых слов в базу:
- Вопрос (инпут).
- Ответ (инпут) - слово, которое будет размещено в сканворде.
- Кнопка "Добавить".
Также должна быть таблица со списком всех добавленных слов с возможностью удаления.
Генерация сканворда
По нажатию на кнопку "Сгенерировать сканворд" из списка добавленных слов выбираются случайные 10-15 слов. Алгоритм размещения слов в сетке:
- Разместить первое слово горизонтально в центре сетки.
- Последовательно размещать остальные слова, подбирая пересечения с уже размещенными словами (по одной общей букве).
- Слова размещаются по горизонтали или вертикали в зависимости от пересечений.
- Пронумеровать ячейки, с которых начинаются слова.
Отображение сканворда
Сканворд должен отображаться в виде сетки:
- Ячейки с буквами заполнены.
- Пустые ячейки серого цвета.
- Ячейки с номерами выделены.
Рядом с сеткой должны отображаться вопросы:
- "По горизонтали" - список вопросов для слов, расположенных горизонтально.
- "По вертикали" - список вопросов для слов, расположенных вертикально.
Хранение данных
Все добавленные слова и вопросы должны храниться в локальном хранилище браузера (localStorage). При повторном открытии страницы база слов должна сохраняться.
Дополнительные возможности
- Очистка всей базы слов.
- Проверка ответов в сканворде.
- Экспорт сканворда в изображение.