Создать онлайн-игру "Дурак"
Основные возможности
1. Создание комнаты:
• Генерация уникального ID комнаты.
• Возможность указать имя первого игрока.
2. Присоединение ко комнате:
• Ввод ID комнаты.
• Указание имени второго игрока.
• Проверка на доступность комнаты.
3. Игровой процесс:
• Перемешивание и раздача карт.
• Установка козыря.
• Смена хода между игроками.
• Возможность добора карт из колоды.
• Завершение игры при пустой колоде и отсутствии карт у игроков.
4. Интерфейс:
• Простое управление через кнопки.
• Отображение карт игроков.
• Информация о текущем ходе и козырной карте.
Функциональные требования
1. Создание комнаты:
• Игрок вводит имя и нажимает “Создать комнату”.
• Генерируется уникальный ID комнаты.
• ID комнаты отображается на экране.
2. Присоединение ко комнате:
• Второй игрок вводит имя и ID комнаты.
• Если комната существует и доступна, игрок подключается.
• В случае ошибки выводится соответствующее сообщение.
3. Начало игры:
• Перемешивание колоды из 36 карт.
• Раздача по 6 карт каждому игроку.
• Установка козырной карты.
• Ход начинает первый игрок.
4. Игровой процесс:
• Игрок выбирает карту и делает ход.
• Проверка:
• Ход сделан в свой ход.
• Карта есть у игрока.
• Возможность забрать карты со стола.
• Добор карт до 6 из колоды (если есть).
• Проверка завершения игры.
5. Завершение игры:
• Игра заканчивается, если:
• У одного из игроков нет карт.
• Колода пуста.
• Выводится сообщение о победителе.
Нефункциональные требования
1. Производительность:
• Время отклика сервера на действие не более 1 секунды.
2. Совместимость:
• Поддержка популярных браузеров (Chrome, Firefox, Safari).
3. Масштабируемость:
• Возможность одновременной игры нескольких пар игроков (разные комнаты).
4. Безопасность:
• Ограничение доступа к комнате по её ID.
• Отсутствие возможности вмешательства в ход игры.
Сроки реализации
1. Дизайн интерфейса: 3 дня.
2. Разработка API: 5 дней.
3. Реализация игрового процесса: 7 дней.
4. Тестирование: 3 дня.