Практика №11. Игра-кликер

Общее описание

Разработать одностраничное веб-приложение «Кликер».
Оно обязано быть сделано при помощи React (vite), следовать правильному неймингу и иметь правильную структуру.
Приложение должно содержать игровое поле с персонажем, систему сбора монет, магазин улучшений и сохранение прогресса между сессиями. Репозиторий на GitHub должен называться: Group_LastName_task-11.

Pasted image 20260207130627.png

Рекомендуется использовать заготовку из ресурсов.

Ресурсы

Заготовка проекта react-project.
(Материалы/Заготовки под практики/react-project.zip)

Техническое задание

  • На главном экране отображается текущий баланс монет, количество монет за клик по персонажу и пассивный доход в секунду (изначально 1 и 0 соответственно).
  • По центру экрана расположен кликабельный персонаж (например, изображение или стилизованный блок). Каждый клик увеличивает баланс на текущее значение «монет за клик».
  • Ниже или рядом расположен магазин улучшений, содержащий как минимум 7 уникальных позиций. Каждая позиция имеет:
    • Название,
    • Описание эффекта (например, «+3 монета за клик» или «+1 монеты в секунду»),
    • Цену в монетах.
  • Улучшение можно приобрести только если баланс пользователя не меньше его цены. После покупки:
    • Баланс уменьшается на стоимость улучшения,
    • Соответствующий параметр (монеты за клик или пассивный доход) увеличивается на указанную величину.
  • Прогресс игры (баланс, значения параметров, состояние улучшений) должен автоматически сохраняться и восстанавливаться после перезагрузки страницы.
  • Должна быть кнопка «Сбросить прогресс», полностью удаляющая сохранённые данные и возвращающая игру к начальному состоянию.

Дополнительная часть

Реализовать визуально привлекательный интерфейс: модальные окна для настроек и магазина, использовать тематическое оформление, анимации реакции на клик, эффекты при покупке улучшений или другие элементы, повышающие игровой опыт. Допускается использование CSS-стилей, SVG или встроенных изображений, но без внешних библиотек.

Время на выполнение

5 практические сессии

  • После сессии 1 дедлайн: 50% от максимального балла
  • После сессии 2: 25%
  • После сессии 3: 10%

Баллы

Статус выполнения Количество баллов
Не сдано -7
Сдано (базовая часть) 5
Полностью реализовано 10
Дополнительная часть +4