|
|
@@ -0,0 +1,78 @@
|
|
|
+# 📋 Отчет о проделанной работе
|
|
|
+## 🎮 Проект «MiniGames Hub»
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 1. Введение
|
|
|
+
|
|
|
+Проект **MiniGames Hub** представляет собой современную веб-платформу, объединяющую коллекцию из **десяти классических и популярных мини-игр** с единой системой аккаунтов, бонусной экономикой и магазином внутриигровых улучшений. Основная идея — создать увлекательное и мотивирующее игровое пространство, где пользователи могут соревноваться друг с другом, зарабатывать бонусы, покупать скины и модификаторы, а также настраивать внешний вид сайта под своё настроение.
|
|
|
+
|
|
|
+Актуальность работы обусловлена растущим спросом на браузерные развлечения, не требующие установки, а также желанием игроков получать не только эмоции, но и материальные (внутриигровые) поощрения за свои достижения. В отличие от большинства аналогичных сайтов, данный проект предлагает глубокую интеграцию бонусной системы, персонализацию и социальные функции (отзывы, рекорды), что повышает вовлечённость аудитории.
|
|
|
+
|
|
|
+**Цель отчета** — описать процесс разработки, функциональные возможности, технические решения и достигнутые результаты проекта «MiniGames Hub».
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 2. Технологический стек
|
|
|
+
|
|
|
+В разработке использовались современные веб-технологии, обеспечивающие быстродействие, кроссплатформенность и простоту развёртывания.
|
|
|
+
|
|
|
+| Технология | Назначение |
|
|
|
+|------------|------------|
|
|
|
+| **HTML5** | Структура веб-страниц, семантическая разметка |
|
|
|
+| **CSS3** | Стилизация, адаптивная вёрстка, анимации, поддержка тем |
|
|
|
+| **Vanilla JavaScript** | Вся игровая логика, управление состоянием, взаимодействие с пользователем |
|
|
|
+| **Canvas API** | Рендеринг динамических игр (Snake, Tetris, Pong, Wheel, 2048) |
|
|
|
+| **LocalStorage** | Хранение данных пользователей, рекордов, отзывов, настроек |
|
|
|
+| **CSS Custom Properties** | Гибкое управление темами оформления через переменные |
|
|
|
+
|
|
|
+> ✅ Отказ от внешних библиотек и фреймворков позволил сохранить малый вес проекта (единый HTML-файл) и добиться мгновенной загрузки.
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+## 3. Реализованный функционал
|
|
|
+
|
|
|
+### 🕹️ 3.1 Игровой модуль (10 игр)
|
|
|
+
|
|
|
+Для каждой игры предусмотрены:
|
|
|
+- три уровня сложности / размера поля;
|
|
|
+- отображение текущего счёта;
|
|
|
+- сохранение личного рекорда в профиле;
|
|
|
+- визуальные спецэффекты (частицы, свечение, анимации);
|
|
|
+- поддержка клавиатурного управления.
|
|
|
+
|
|
|
+| № | Игра | Жанр | Ключевые особенности |
|
|
|
+|---|------|------|----------------------|
|
|
|
+| 1 | **Snake** | Аркада | Скорость, дополнительные жизни, магнит, золотая змейка |
|
|
|
+| 2 | **Тетрис** | Головоломка | Предпросмотр фигур, замедление падения, удвоение очков |
|
|
|
+| 3 | **Пинг-Понг** | Аркада | AI-противник, регулируемая скорость мяча, большая ракетка |
|
|
|
+| 4 | **Cookie Clicker** | Кликер | Улучшения (курсор, бабушка, ферма, фабрика), пассивный доход |
|
|
|
+| 5 | **Камень-Ножницы-Бумага** | Vs ИИ | Подглядывание за ходом ИИ, дополнительные раунды |
|
|
|
+| 6 | **Memory** | Память | Подсказка в начале, увеличенное время показа карт |
|
|
|
+| 7 | **Колесо Фортуны** | Бонус | Вращение 1 раз в час, выигрыш от 5 до 200 бонусов |
|
|
|
+| 8 | **Пятнашки** | Головоломка | Три размера поля (3×3, 4×4, 5×5), подсказка решения, отмена хода |
|
|
|
+| 9 | **2048** | Головоломка | Размеры 4×4, 5×5, 6×6, отмена хода, удвоение очков |
|
|
|
+
|
|
|
+Каждая игра интегрирована с бонусной системой и может активировать приобретённые в магазине модификаторы.
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+### 👤 3.2 Система пользователей
|
|
|
+
|
|
|
+Реализована полноценная регистрация и авторизация с хранением данных в LocalStorage.
|
|
|
+
|
|
|
+**Функции:**
|
|
|
+- Создание аккаунта (имя, фамилия, логин, email, пароль);
|
|
|
+- Вход / выход;
|
|
|
+- Автоматическое восстановление сессии при перезагрузке.
|
|
|
+
|
|
|
+**Структура профиля пользователя:**
|
|
|
+```javascript
|
|
|
+{
|
|
|
+ firstName, lastName, username, email, password,
|
|
|
+ bonusPoints, // текущий баланс бонусов
|
|
|
+ ownedItems: [], // идентификаторы купленных предметов
|
|
|
+ scores: {}, // рекорды по каждой игре
|
|
|
+ activeBonuses: {}, // состояние активированных бонусов
|
|
|
+ createdAt: date
|
|
|
+}
|