Домашнее задание по JS

Реализация пользовательских жестов в рамках игры «Dungeon of Doom».

Прохождение игры состоит из последовательного открытия дверей и в конце открытия сундука. Каждая дверь представляет из себя мини-загадку для решения которой игрок должен сделать какой-либо жест. Жесты могут быть как для одного указателя, так и для нескольких.

Для открытия первой двери игрок должен одновременно зажать три кнопки, чтобы дверь открылась. Это невозможно сделать на компьютере, поэтому пройти эту дверь можно только с мобильного устройства с multi-touch (т.е. с помощью любого смартфона).

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

Файлы

  • sample — папка с самой игрой
  • sample/index.html
  • sample/css — папка со стилями. В файле sample/css/app.css основные стили.
  • sample/js/doorBase.js — базовый класс двери. От него наследуются все двери и сундук.
  • sample/js/doorOthers.js — реализации дверей в игре. Первая дверь реализована полноценно и может быть использована в качестве примера. Остальные двери реализованы по принципу "любой клик на двери её откроет". Вам предлагается заменить эту логику на более сложную.

Свой код дверей предполагается писать в рамках

// ==== Напишите свой код для открытия сундука здесь ====
...
// ==== END Напишите свой код для открытия сундука здесь ====

а также в index.html в DOM-элементах .popup_level_1, popup_level_2 и popup_level_3.

Основные техники, которые должны быть реализованы:

  • Использование Pointer Events.
  • Жест открытия для одной двери.

Также приветствуется реализация дополнительных техник на более высокую оценку:

  • Сложные жесты, которые будет непросто сделать игроку. Желательно с использованием нескольких указателей (пальцев). Можно вдохновляться играми серии The Room, всевозможными пазлами и загадками в квестах. Например:
    • Для открытия двери необходимо сдвинуть в разные стороны несколько затворов.
    • За определенное время покрутить по кругу несколько рычагов.
    • "Восстановить" механизм открытия двери перемещением шестеренок в соответствующие им пазы.
  • Сделать разные жесты открытия для всех дверей и сундука.

Вспомогательные материалы

Графические материалы можно взять с http://kenney.nl/assets/ или любого другого сайта с бесплатными ресурсами для игр. В этой игре используются изображения из набора http://kenney.nl/assets/platformer-pack-redux.

Куда и когда присылать

  • Работы присылать на dndushkin@yandex-team.ru
    • Желательно сопроводить работу кратким описанием основных фишек (чтобы при оценке ничего не забылось)
    • Лучше ссылками на сверстанную страницу (например, разместить на бесплатном GitHub Pages с помощью gh-pages)
    • На крайний случай просто архивом
  • Тема: "ДЗ по JS (фамилия и имя)"
  • Срок — до 14 июля 12:00