Doka-hub / battleship

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Морской Бой

Что было сделано

  • игра морской бой
  • игровой чат

Для ускорения разработки некоторые нюансы были опущены:

  • Создание игры возможно только через админ панель, указав игроков вручную
  • Завершение игры не сделано. На мой взгляд, суть задания не в этом
  • Завершение игры при отключении противника (в течении 60 сек.)
  • Возможность расставлять корабли убрана; Корабли расставляются автоматически и статически (всегда в одном месте)
  • Настройки проекта не были вынесены в .env

Но были учтены следующие моменты:

  • В играх часто бываются гостевые юзеры. Я добавил кнопку "Войти как гость" на странице авторизации. Логин и пароль генерируются автоматически, такой пользователь отмечается гостем.
  • В случае разрыва соединения вебсокета сообщение отправляется еще 5 раз с задержкой в 3 секунды
  • Играть могут только авторизованные/гостевые пользователи

Quickstart

  1. Запуск
    docker-compose -f docker-compose.base.yml up --build
  2. Создать администратора
    docker-compose -f docker-compose.base.yml run sea_battle python manage.py createsuperuser
  3. Создать игру в админ панели
  4. Скопировать ID игры и вставить на странице ввода ID
    /game/

Информация

  • Redis
    • apps.game.redis
      Здесь прописаны модели Message, Game для хранения данных в redis
  • Импорты
    • Импорты структурированны
    • Библиотеки отделены пробелами
    • Локальные импорты находятся после #local imports
  • Front
    • Использовался JQuery
    • БЭМ технология верстки

About


Languages

Language:Python 69.8%Language:HTML 12.4%Language:JavaScript 12.4%Language:CSS 4.9%Language:Dockerfile 0.5%