Мы в Telegram
Добавить новость
ru24.net
Работа
Июнь
2022
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
22
23 24 25 26 27 28 29 30

Разработка React JS приложения для игры Дозор в студенческом лагере

0

Механика игры:


Командам необходимо пройти все точки созданные в игре, разгадать загадки и набрать максимальное количество очков за правильно введенные коды. Все точки в игре идут друг за другом и автоматически переключаются АПИ приложения.

Каждый игрок подключается к игре по отдельности и связан со своей командой, все очки полученные игроком зачисляются на счет команды





Каждая точка характеризуется параметрами:

  • Подсказка при переходе на точку(указывает куда дальше идти команде)
  • Подсказка на точке(указывает какие коды верные, их необходимо ввести в поле ввода)
  • Коды правильных ответов

Описание доступного АПИ

Выдам доступ к апи методам позже, документация реализована через swagger


Подключение пользователя к игре
https://solbaumanec.ru/dozor/connect


Перед подключением сервис потребует пройти авторизацию, логин с паролем выдам позже
После авторизации токен доступа хранится внутри cookie

Для управления статусами игры необходимо пользоваться эндроитом
https://solbaumanec.ru/dozor/admin/game/setStatus

Игра с административной точки зрения делится на 3 статуса:

  • DEVELOP - заведение точек, подсказок, вопросов и т.д (тестовые данные уже заведены в систему)
  • WAITING_ACTIVE - игра готова к старту, на этом моменте пользователю отображается таймер до начала игры(Стартовая страница). Время до начала игры приходит через webSocket /dozor/action
  • ACTIVE - игра активна, переключению раундов и движение команд идет по заведенному сценарию
Ввод кода игроком осуществляется через эндпоинт
https://solbaumanec.ru/dozor/code/save

После введения кода всем игрокам команды придет сообщение через web socket
/dozor/directlyTeam/{teamName}

Пример подключения и работы web socket можно посмотреть тут
https://solbaumanec.ru/test/socket

Переводите игру по статусам и socket будет отображаться сообщения

Макет страницы

https://www.figma.com/file/FaNJH59JqOy0WRlyhvA8yM/DOZOR?node-id=0%3A1


Данные получаемые через web socket


Типы данных получаемых через web socket:

PRE_START_TIME - время до ориентировочного старта игры
{"message":"action","responseType":"PRE_START_TIME","object":"9:42:41"}
ROUND_TIME - время раунда для команды
TRANSIT_TIME - время перехода команды к точке
DOZOR_DATA - информация об игре, придет текущая точка для команды или изменение ее статуса

В случае если игра перешла в статус WAITING_ACTIVE прийдет сообщение

{"message":"action","responseType":"DOZOR_DATA","object":{"id":2,"type":"DOZOR","dozorPointSet":[],"status":"WAITING_ACTIVE","sequenceOfPassingGame":1,"dozorSequenceOfPassingGameSet":[],"estimatedStartTime":"2022-08-01T18:00:00.000+0000","smenaId":1}}


В случае если игра перешла в статус ACTIVE то при начале времени перехода прийдет сообщение в канал команды

{"message":"action","responseType":"DOZOR_DATA","object":{"id":2,"type":"DOZOR","dozorPointSet":[],"status":"WAITING_ACTIVE","sequenceOfPassingGame":1,"dozorSequenceOfPassingGameSet":[],"estimatedStartTime":"2022-08-01T18:00:00.000+0000","smenaId":1}}


ENTERED_CODE - введенный код одним из участников команды

MESSAGE - нотификация для пользователей команды или для всех пользователей(должна отобразится нотификация в верхней части окна)

{"message":"action","responseType":"MESSAGE","object":"Тестовое сообщение"}





Moscow.media
Частные объявления сегодня





Rss.plus




Спорт в России и мире

Новости спорта


Новости тенниса
Арина Соболенко

Швентек и Соболенко устроили триллер за престижный трофей






Файзуллаев: «ЦСКА хочет победить «Зенит»

Собянин: в Москве возобновят подачу тепла из-за похолодания

Столичный бизнес нарастил энергопотребление в январе – марте 2024 года на 6,2 процента

В Москве прошла встреча Игоря Маковского с фондом "Энергия русского духа"