Локально запускаемая HTML5-копия игры в жанре криптограммы, созданная по визуальному и механическому референсу.
Демо: https://TokGrin.github.io/CryptogramGame/ Референс: https://games.xpeh.net/cryptogram/
Криптограмма — головоломка, в которой буквы слова или фразы заменены числами. Одинаковые буквы имеют одинаковые числовые обозначения, поэтому игрок должен восстановить исходный текст.
Цель проекта — воспроизвести основной игровой цикл оригинала и создать цельный, понятный и стабильный интерфейс с использованием HTML5, CSS3 и JavaScript.
- 3 игровых уровня
- Расшифровка слов и фразы
- Экранная клавиатура
- Система ошибок
- Система подсказок
- Окна победы и поражения
- Финальное состояние после прохождения всех уровней
- Последовательная разблокировка уровней
- Сохранение прогресса через
localStorage - Возможность начать новый игровой цикл
- Адаптивный интерфейс
- Анимации правильных и неправильных ответов
Игровой цикл построен следующим образом:
- Игрок открывает игру и знакомится с правилами.
- Выбирает незаполненную ячейку.
- Выбирает необходимую букву на экранной клавиатуре.
- Игра проверяет ответ.
- При правильном ответе буква появляется в ячейке и автоматически выбирается следующая.
- При ошибке ячейка и клавиша получают визуальную обратную связь.
- После заполнения всех ячеек появляется окно победы.
- После трёх ошибок появляется окно поражения.
| Уровень | Тип | Задание | Стартовые буквы |
|---|---|---|---|
| 1 | Зашифрованное слово | ПЕСЕЦ |
П, С |
| 2 | Зашифрованное слово | ПРОГРАММИСТ |
П, О, А, И |
| 3 | Зашифрованная фраза | МОЖНО ГРАБИТЬ КОРОВАНЫ |
Е, И, О, А, М, Г, К |
Уровни открываются последовательно: сначала доступен первый, после его прохождения открывается второй, затем третий. Завершённые уровни отмечаются галочкой.
В игре используется счётчик подсказок с иконкой лампочки.
- На старте игрок получает 3 подсказки.
- За первое прохождение каждого уровня начисляется +2 подсказки.
- Награда добавляется к текущему количеству подсказок.
- Повторное прохождение уровня не выдаёт дополнительную награду.
- Количество подсказок и прогресс сохраняются через
localStorage. - Для защиты от конфликтов со старыми сохранениями используются версии ключей прогресса.
3 подсказки
↓
использована 1
↓
осталось 2
↓
уровень пройден
↓
+2
↓
итого 4
После правильного заполнения всех ячеек появляется окно:
- «Уровень пройден!»
- правильный ответ
- награда
+2 - кнопки перехода дальше или открытия списка уровней
После трёх ошибок появляется окно с:
- сообщением об ошибке;
- правильным ответом;
- возможностью продолжить/повторить игру;
- переходом к списку уровней.
После завершения третьего уровня появляется:
«Все уровни пройдены! Поздравляем!»
Интерфейс построен вокруг максимально быстрой визуальной обратной связи.
- буква появляется в ячейке;
- используется короткая анимация;
- автоматически выбирается следующая незаполненная ячейка.
- ячейка подсвечивается красным;
- клавиша подсвечивается красным;
- применяется короткая анимация тряски;
- после ошибки ячейка возвращается в обычное состояние.
| Технология | Назначение |
|---|---|
| HTML5 | Структура игры, экранов и модальных окон |
| CSS3 | Визуальный стиль, адаптивность, анимации |
| JavaScript | Игровая логика и управление состояниями |
| localStorage | Сохранение прогресса и подсказок |
Проект не требует backend и может запускаться локально.
AI использовался не только для первоначальной генерации кода, но и как инструмент итерационной разработки.
Рабочий процесс:
Реализация
↓
Запуск и проверка
↓
Поиск проблемы
↓
Точечное исправление
↓
Повторная проверка
AI применялся для:
- генерации базовой HTML/CSS/JS структуры;
- разработки игровой механики;
- доработки интерфейса;
- поиска логических ошибок;
- проверки системы подсказок;
- отладки
localStorage; - проверки переходов между уровнями;
- обработки edge cases;
- настройки размеров, отступов, шрифтов и модальных окон;
- поиска регрессий после изменений.
Проверялись следующие части проекта:
- игровой цикл;
- выбор ячейки и буквы;
- правильные и неправильные ответы;
- расход и получение подсказок;
- сохранение прогресса;
- разблокировка уровней
1 → 2 → 3; - победа и поражение;
- завершение всех уровней;
- навигация по меню;
- сброс прогресса;
- визуальное центрирование;
- размеры кнопок и отступы;
- отсутствие регрессий после изменений.
Проект не требует установки зависимостей или backend.
Скачайте репозиторий и откройте HTML-файл игры в браузере.
git clone https://github.com/TokGrin/CryptogramGame.git
cd CryptogramGameПосле этого откройте основной HTML-файл в браузере.
Также проект доступен онлайн:
https://TokGrin.github.io/CryptogramGame/
CryptogramGame/
├── index.html
├── style.css
├── script.js
└── README.md
Названия файлов могут отличаться в зависимости от текущей структуры репозитория.
- HTML5-игра
- 3 уровня
- Игровая механика криптограммы
- Экранная клавиатура
- Система ошибок
- Система подсказок
- Последовательная разблокировка уровней
- Сохранение прогресса
- Окно победы
- Окно поражения
- Финальное окно
- Анимации
- Адаптивный интерфейс
- Локальный запуск без backend
- AI-assisted разработка и тестирование
В результате создана самостоятельная HTML5-копия криптограммы на 3 уровня, ориентированная на локальный запуск и демонстрацию качества реализации.
Проект включает игровую механику, последовательную прогрессию, подсказки, систему ошибок, состояния победы и поражения, сохранение прогресса и UX-доработки. Основной акцент сделан на предсказуемом поведении игры и понятной визуальной обратной связи.