Мы в Telegram
Добавить новость

Проверку начали после загрязнения реки Сетунь в Москве

Концерт группы "Пикник" состоится 1 июня в Москве

Подмосковные спасатели выступят на чемпионате профмастерства в Приморском крае

Два проекта Первый Бит отмечены дипломами финалистов конкурса «BPM-проект года»



Новости сегодня

Новости от TheMoneytizer

Разработать базу данных и REST API для доступа к ней

Введение

Цель создания

Игра представляет из себя сборку .webasm для запуска ее в браузере ПК без скачивания конечного приложения. Разработка игры ведется на Unity 2021 для WebGL 2.0 в среде .NET 4.5.

Игра ведет учет пользователей, результатов прохождения игры и иных данных, которые должны хранится вне зависимости от конечных экземпляров игры. Таким образом нужна внешняя БД и API для доступа к ней из самой игры.


Описание игры

Игра представляет из себя 2D платформер с тремя уровнями и c несколькими встроенными в эти уровни мини-играми. Главная цель игрока пройти все уровни, а целью прохождения каждого уровня является прохождения всех мини-игр в нем. Каждую мини-игру и каждый уровень игрок может пройти лишь единожды. На уровне так же расположены неуничтожаемые противники и собираемые монетки.

Главный и единственный ресурс игрока – время: при прохождении мини-игр, считается и суммируется время, затраченное на них игроком. За ошибки в мини-играх или столкновение с противниками на уровне игрок получает штрафное время, за сбор расположенных на уровне монеток – суммарное время сокращается на некоторую величину. Таким образом в конечном итоге выстраивается рейтинг игроков по суммарному времени.


ТЗ на создание базы данных


Требуется создать реляционную БД, хранящую в себе набор следующих сущностей с их атрибутами (звездочкой выделены ключевые атрибуты сущностей):

  1. Пользователь:
    • *Уникальный ID (скорее всего, строка на подобии GUID)
    • Никнейм (уникальная строка)
  2. Результат мини-игры:
    • *ID мини-игры (неотрицательное целое)
    • *ID пользователя (неотрицательное целое – соотносится с сущностью «пользователь»)
    • Суммарное время (неотрицательное число с плавающей точкой)
    • Завершение (логическое значение)
  3. Сбор монетки:
    • *ID монетки (неотрицательное целое)
    • *ID пользователя (неотрицательное целое – соотносится с сущностью «пользователь»)
  4. Штраф:
    • ID пользователя (неотрицательное целое – соотносится с сущностью «пользователь»)
    • Суммарное время (неотрицательное число с плавающей точкой)
  5. Рейтинг:
    • *ID пользователя (строка – соотносится с сущностью «пользователь»)
    • Никнейм (строка – соотносится с сущностью «пользователь»)
    • Суммарное время (неотрицательное число с плавающей точкой - подсчитывается автоматически)

В качестве примера к данному документу прилагается пример такой БД в формате «Exel». Конечная структура и связи сущностей могут немного редактироваться в зависимости от рекомендаций разработчика.


ТЗ на создание API


Общие требования


Для доступа к БД из клиента, требуется разработать REST API. URI запросов рекомендуется организовывать по шаблону: /<ИМЯ_ТАБЛИЦЫ>/<ЗАПРОС>...


Основные запросы


Запросы к пользователям


  1. Вход в игру сбудет происходить с помощью авторизации на стороннем сервисе с помощью Open ID, таким образом игра уже при входе будет получать уникальный ID пользователя.

Соответственно нужен GET-запрос на получение пользователя по ID пользователя. В случае если в БД нет такого пользователя, то он должен быть туда записан с указанным ID и пустыми значениями остальных атрибутов 2. Для заполнения остальных полей пользователя нужен PUT-запрос с параметрами для заполнения недостающих данных


Запросы к мини-играм и результатам


  1. GET-запрос на получение всех результатов мини-игр, связанных с указанным ID пользователя
  2. PUT-запрос на запись результатов мини-игр, связанных с указанным ID пользователя. Если результаты мини-игр уже записаны в БД, то они перезаписываются

Запросы к монеткам и их сборам


  1. GET-запрос на получение всех собранных монеток указанным ID пользователя
  2. PUT-запрос на запись собранных монеток, связанных с указанным ID пользователя. Если собранные монетки уже записаны в БД, то ничего не происходит

Запросы к штрафам


  1. GET-запрос на получение суммарного времени штрафа для указанного ID пользователя
  2. PUT-запрос на запись/перезапись суммарного времени штрафа для указанного ID пользователя

Дополнительные запросы

  1. GET-запрос на получение топ-N рейтинга, где N - параметр запроса.

    Для подсчета рейтинга надо вначале подсчитать суммарное время каждого верифицированного (то есть, с НЕпустым никнеймом) пользователя.

    Время подсчитывается, как сумма времени всех результатов мини-игр связанных с данным пользователем и суммарного времени штрафа данного пользователя (сумма не можеn при этом быть отрицательной) за вычетом суммы стоимостей всех собранных данным пользователем монеток.

    Далее полученные рейтинги необходимо отсортировать по возрастанию полученного времени и вернуть в ответе на запрос первые N.

    В созданной для этого таблице должны размещаться только верифицированные пользователи. Таблица должна обновляться автоматически при записи сопутствующих данных в БД.


Требования к информационной безопасности


Все данные передаваемые запросами симметрично шифруются, по вшитому в сервер и клиент ключу, здесь не нужна особенная безопасность данных, так как не хранится никакой конфиденциальной информации.


Требования к передаче продукта


Продукт должен быть предоставлен в формате Docker Compose, который мы будем разворачивать на своих серверах.

Читайте на 123ru.net


Новости 24/7 DirectAdvert - доход для вашего сайта



Частные объявления в Вашем городе, в Вашем регионе и в России



Smi24.net — ежеминутные новости с ежедневным архивом. Только у нас — все главные новости дня без политической цензуры. "123 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. Smi24.net — облегчённая версия старейшего обозревателя новостей 123ru.net. Мы не навязываем Вам своё видение, мы даём Вам срез событий дня без цензуры и без купюр. Новости, какие они есть —онлайн с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии. Smi24.net — живые новости в живом эфире! Быстрый поиск от Smi24.net — это не только возможность первым узнать, но и преимущество сообщить срочные новости мгновенно на любом языке мира и быть услышанным тут же. В любую минуту Вы можете добавить свою новость - здесь.




Новости от наших партнёров в Вашем городе

Ria.city

Подмосковные спасатели выступят на чемпионате профмастерства в Приморском крае

Mash: в Москве полицейские и приставы остановили работу центра "Китай-город"

В Йошкар-Оле росгвардейцы поздравили подшефных кадет с завершением учебного года

Проверку начали после загрязнения реки Сетунь в Москве

Музыкальные новости

Эксперт сенсационно раскрыл загадку Мессинга и Жириновского.

Представитель “Лайм-Займ” одержал победу на XII Чемпионате СФО по управленческим переговорам "Сила Сибири"

«Россети Новосибирск» продолжает конструктивный диалог с бизнесом по вопросам подключения к электрическим сетям

Сергей Лазарев рекомендовал Казань для отпуска выходного дня

Новости России

Подмосковные спасатели выступят на чемпионате профмастерства в Приморском крае

Проверку начали после загрязнения реки Сетунь в Москве

Подмосковье приняло участие в научном медицинском форуме в Гомеле

Концерт группы "Пикник" состоится 1 июня в Москве

Экология в России и мире

Компания ICDMC приняла участие в торжественном открытии выставки “Тульское качество”

Компании Группы "Интеррос" взяли ряд наград премии FINAWARD

Стильные образы на лето, в которых вы покорите окружающих

Компания ICDMC приняла участие в торжественном открытии выставки “Тульское качество”

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

Надежда Петрова высказалась о перспективах Арины Соболенко снова возглавить рейтинг WTA

Касаткина о романе Синнера и Калинской: рада, больше ничего не хочу говорить

Повернення Калініної до топ-50 та втрачені позиції Світоліної. Оновлені тенісні рейтинги WTA та ATP

Последний танец Надаля и юбка Сюзанн Ленглен: 6 важных фактов о «Ролан Гаррос»-2024

Moscow.media

Денис Сафин перевел 100 миллионов рублей в фонд помощи пострадавшим от паводка

Недорогой семейный кроссовер Chevrolet вернулся на российский рынок. Цена приятно удивит.

В Челябинской области трансгендеру вынесен приговор за поджог военкомата

На закате.











Топ новостей на этот час

Rss.plus






Проверку начали после загрязнения реки Сетунь в Москве

Mash: в Москве полицейские и приставы остановили работу центра "Китай-город"

«Большой спектр социально значимых инициатив» - форум «Сообщество» первый день работает в Иркутске

Подмосковные спасатели выступят на чемпионате профмастерства в Приморском крае