Мультиплеерный слот-автомат с элементами RPG. Крути барабаны, зарабатывай кредиты, покупай улучшения и соревнуйся с другими игроками в режиме реального времени.
Пет-проект, в котором я отрабатывал real-time клиент-сервер на WebSocket (Socket.io).
- Backend: Node.js, Express, Socket.io
- Frontend: Vanilla JavaScript, HTML5, CSS3
- Real-time: WebSocket (Socket.io)
- Database: JSON-файл (персистентность пользователей)
- Avatar API: DiceBear (генерация аватаров)
- Слот-машина 3×3 — классические барабаны с символами
- Wild-символы — заменяют любые символы для выигрышных комбинаций
- Ставки — гибкая настройка размера ставки
- Выплаты — разные коэффициенты для комбинаций
| Улучшение | Описание | Цена |
|---|---|---|
| Aura of Luck | +0.2% шанс на Wild (макс. 10 уровней) | 500 |
| Chip Magnet | 1% прибыли с выигрышей других игроков | 800 |
| Hacker Module | Возможность сдвинуть барабан (30 мин. кулдаун) | 1200 |
| VIP Status | Неоновый статус + множитель ×100 | 2000 |
- Комнаты — до 6 игроков в одной комнате
- Рейтинг — видно баланс всех игроков в комнате
- Глобальные события — случайные бонусы/штрафы каждые 10-15 минут
- Персистентность — прогресс сохраняется по никнейму
- Регистрация по никнейму с генерацией аватаров
- Система комнат с автоматическим распределением
- Лог выигрышей в реальном времени
- Партиклы и визуальные эффекты при выигрыше
- Отображение линий выплат
- Node.js 16+
# Клонирование
git clone <репозиторий>
cd "Казино/Казино"
# Установка зависимостей
npm installcd server
npm startОткройте в браузере: http://localhost:3000
- Express — раздача статических файлов
- Socket.io — real-time коммуникация
- Rooms — управление комнатами игроков
- JSON DB — сохранение прогресса по никнейму
- Socket.io-client — подключение к серверу
- Canvas API — партиклы и эффекты
- CSS Grid/Flexbox — адаптивная верстка
- Игрок входит по никнейму → загрузка/создание профиля
- Автоматическое распределение в комнату (макс. 6 чел.)
- Ставка → Крутка барабанов → Расчет выигрыша
- Покупка апгрейдов → Сохранение прогресса
| Event | Direction | Описание |
|---|---|---|
join |
Client → Server | Вход в игру с никнеймом |
spin |
Client → Server | Запуск слота со ставкой |
buy_upgrade |
Client → Server | Покупка улучшения |
room_state |
Server → Client | Обновление состояния комнаты |
spin_result |
Server → Client | Результат крутки |
error_msg |
Server → Client | Ошибка (недостаточно средств и т.д.) |
Илья — github.com/golyb11
Проект создан в учебных/развлекательных целях.