- игра морской бой
- игровой чат
Для ускорения разработки некоторые нюансы были опущены:
- Создание игры возможно только через админ панель, указав игроков вручную
- Завершение игры не сделано. На мой взгляд, суть задания не в этом
- Завершение игры при отключении противника (в течении 60 сек.)
- Возможность расставлять корабли убрана; Корабли расставляются автоматически и статически (всегда в одном месте)
- Настройки проекта не были вынесены в .env
Но были учтены следующие моменты:
- В играх часто бываются гостевые юзеры. Я добавил кнопку "Войти как гость" на странице авторизации. Логин и пароль генерируются автоматически, такой пользователь отмечается гостем.
- В случае разрыва соединения вебсокета сообщение отправляется еще 5 раз с задержкой в 3 секунды
- Играть могут только авторизованные/гостевые пользователи
- Запуск
docker-compose -f docker-compose.base.yml up --build
- Создать администратора
docker-compose -f docker-compose.base.yml run sea_battle python manage.py createsuperuser
- Создать игру в админ панели
- Скопировать ID игры и вставить на странице ввода ID
/game/
- Redis
- apps.game.redis
Здесь прописаны модели Message, Game для хранения данных в redis
- apps.game.redis
- Импорты
- Импорты структурированны
- Библиотеки отделены пробелами
- Локальные импорты находятся после
#local imports
- Front
- Использовался JQuery
- БЭМ технология верстки