Skip to content

Develop - #46

Open
SpaNb4 wants to merge 261 commits into
mainfrom
develop
Open

Develop#46
SpaNb4 wants to merge 261 commits into
mainfrom
develop

Conversation

@SpaNb4

@SpaNb4 SpaNb4 commented Feb 2, 2021

Copy link
Copy Markdown
Owner
  1. Task: https://github.com/rolling-scopes-school/tasks/blob/master/tasks/rsclone/rsclone.md

  2. Screenshot:
    image

  3. Deploy: https://rsclone-trap-quest.netlify.app/

  4. Done 02.02.2021 / deadline 03.02.2021

  5. Score: 480/480

  6. Статья: https://medium.com/@alesya.kuptsova/игра-crime-trap-and-one-cat-f1fc3de80114

  7. Ссылка на видео с обзором приложения: https://youtu.be/LdASQO2DKoA

  8. Описание фич, реализованных при создании приложения, и ожидаемого количества баллов за каждую из них.

UI:
  • Есть возможность управление приложением/игрой с клавиатуры или наличие более пяти hot keys (20 баллов);
    Большая часть игр имеет возможность управления с клавиатуры. Также реализована возможность включения режима, в котором всё управление возможно с помощью клавиатуры, данный пункт расположен в боковом меню.
    В этом режиме можно осуществлять: переход по стенам, открытие меню, списка разгаданных слов, перемещение курсора, взаимодействие с объектами и др.
  • Есть возможность переключения 2 и более языков (20 баллов);
    Игра имеет переводы на 3 языка: английский, русский, японский. Их переключение возможно через боковое меню.
  • Есть хотя бы один модальный диалог (10 баллов);
    Каждая игра по сути является модальным окном. Плюс некоторые пункты меню также содержат всплывающие окна.
  • [±] Возможность кастомизации приложения, настроек пользователя (10 / 30 баллов);
    Есть возможность включать режим работы с клавиатуры, а также есть ползунок, позволяющий изменять звук.
  • Реализовано 3+ анимации, для создания которых используются ключевые кадры или svg-анимация (20 баллов);
    Анимация взаимодействия с различными объектами: дверная ручка, тряска картин, падение картины при прохождении пятнашек, включение настольной лампы, котик, который падает со стола, записка, падающая с доски.
  • Приложение выполнено в едином стиле, для стилизации используется Bootstrap/Material UI/Ant design/etc (20 баллов);
    Игра использует фреймворк Materialize и набор иконок Material Icons.
  • Приложение работает на телефоне/планшете/PC (30 баллов);
Работа игры:
  • Действие игры происходит на разных уровнях, картах, локациях, используются анимированные переходы между уровнями, анимации победы, поражения (30 баллов);
    Боковыми стрелками по бокам экрана можно переключать активную стену. При её смене используется прелоадер, который должен предотвратить то, что некоторые объекты могут какое-то ещё загружаться.
    При нажатии на ключ можно увидеть разгаданные в ходе игры слова.
    Каждая мини-игра отправляет сообщение о выигрыше или проигрыше.
  • [±] Расширенные настройки звука/видео/графики. Уровни громкости, язык озвучивания, вкл/выкл отображение теней, частиц (10 / 20 баллов);
    Есть возможность регулировать уровень громкости игры, данная опция находится в боковом меню.
  • Есть статистика, которая отображает прогресс игры, нанесенный урон, потраченное на игру время, процент выполнения задания или уровня etc (20 баллов);
    Имеется статистика, которая содержит время прохождения каждой игры.
  • [±] Написание логики для компьютерного противника (20 / 40 баллов);
    Сюда можно отнести игру крестики-нолики, а также автоматическое решение пятнашек.
Технический стек:
  • Использован Canvas/WebGL/etc (20 баллов);
    Некоторые игры (Змейка, Крестики-нолики, Тетрис) управление с клавиатуры, заставки к игре работают на технологии Canvas.
  • Есть не меньше двадцати Unit test (20 баллов);
  • Использован webpack (10 баллов);
  • Сохранение и загрузка чего-либо с использованием Local storage (10 баллов);
    Сохранение данных авторизованного пользователя.
  • [±] Приложение/игра написаны на TypeScript (20 / 40 баллов);
    Почти половина файлов написана на TypeScript.
Работа с кодом:
  • Использован eslint, eslint-config-airbnb-base (10 баллов);
  • Понятный, читаемый код. Имена переменных и функций отражают то что в них содержится/то что они делают. Функция выполняет одно действие. Повторение логики сведено к минимуму. (20 баллов);
Back-end:
  • Использован RESTful API (30 баллов);
    При регистрации и авторизации пользователя происходят соответствующие запросы к API.
  • Подключение и работа с БД (30 баллов);
    Для хранения данных пользователя и его прогресса по играм используется база данных MongoDB.
  • Аутентификация (20 баллов);
    Для сохранения игрового процесса, пользователю необходимо сначала зарегистрироваться, а затем авторизоваться в игре.
    Данные о пользователе в зашифрованном виде хранятся в базе данных.
    Приложение отображает какую-либо статистику/графики/таблицы, данные для которых получает от бэкенда (20 баллов)
    Статистика по времени прохождения каждой игр. Эти данные берутся из соответствующего поля в базе данных.
  • Реализован nodejs и express, отдаёт корректные ответы, отдаёт HTTP ошибки с нормальными body, по которым можно понять, что произошло, пишет читаемые логи (30 баллов).
    В качестве веб-сервера используется NodeJS с фреймворком Express.js. При вводе неверного пароля конкретного
    пользователя, можно увидеть, что в консоль выводится соответствующее сообщение. То же самое относится и к остальным запросам. Для записи логов используется Morgan.

Итого: 450/320
11. Статья: 160/160
12. Видео, в которых демонстрируются все реализованные фичи:

  1. Ссылка на репозиторий с бекендом: https://github.com/SpaNb4/backend

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants