Практика №11. Игра-кликер
Общее описание
Разработать одностраничное веб-приложение «Кликер».
Оно обязано быть сделано при помощи React (vite), следовать правильному неймингу и иметь правильную структуру.
Приложение должно содержать игровое поле с персонажем, систему сбора монет, магазин улучшений и сохранение прогресса между сессиями. Репозиторий на GitHub должен называться: Group_LastName_task-11.
Рекомендуется использовать заготовку из ресурсов.
Ресурсы
Заготовка проекта react-project.
(Материалы/Заготовки под практики/react-project.zip)
Техническое задание
- На главном экране отображается текущий баланс монет, количество монет за клик по персонажу и пассивный доход в секунду (изначально 1 и 0 соответственно).
- По центру экрана расположен кликабельный персонаж (например, изображение или стилизованный блок). Каждый клик увеличивает баланс на текущее значение «монет за клик».
- Ниже или рядом расположен магазин улучшений, содержащий как минимум 7 уникальных позиций. Каждая позиция имеет:
- Название,
- Описание эффекта (например, «+3 монета за клик» или «+1 монеты в секунду»),
- Цену в монетах.
- Улучшение можно приобрести только если баланс пользователя не меньше его цены. После покупки:
- Баланс уменьшается на стоимость улучшения,
- Соответствующий параметр (монеты за клик или пассивный доход) увеличивается на указанную величину.
- Прогресс игры (баланс, значения параметров, состояние улучшений) должен автоматически сохраняться и восстанавливаться после перезагрузки страницы.
- Должна быть кнопка «Сбросить прогресс», полностью удаляющая сохранённые данные и возвращающая игру к начальному состоянию.
Дополнительная часть
Реализовать визуально привлекательный интерфейс: модальные окна для настроек и магазина, использовать тематическое оформление, анимации реакции на клик, эффекты при покупке улучшений или другие элементы, повышающие игровой опыт. Допускается использование CSS-стилей, SVG или встроенных изображений, но без внешних библиотек.
Время на выполнение
5 практические сессии
- После сессии 1 дедлайн: 50% от максимального балла
- После сессии 2: 25%
- После сессии 3: 10%
Баллы
| Статус выполнения | Количество баллов |
|---|---|
| Не сдано | -7 |
| Сдано (базовая часть) | 5 |
| Полностью реализовано | 10 |
| Дополнительная часть | +4 |
