Данный тестовый проект состоит из следующих файлов:
task.md– Заданиеfigures.json– JSON-массив с фигурамиindex.html- Верстка Экрана Входаgame.html- Верстка Экрана Игрыresults.html- Верстка Экрана Результатов
К вам обратилась компания по разработке игр для веб-сайтов. Компания просит помочь в разработке веб-игры. Вам предоставляется вся необходимая верстка.
Ваша задача – только клиентское программирование.
Время на выполнение: 1,5ч.
- При переходе на сайт с игрой должен быть отображен экран входа.
- На экране входа распологается поле, где пользователь может ввести свое имя и набор из 4 фигур, которые будут выпадать первые.
- Набор из 4 фигур выбирается из всех фигур, полученных из
jsonфайла с помощью запроса. - После выбора фигур и ввода имени, пользователь может нажать на кнопку
"Начать игру", либо с помощью клавиши"Enter". - Имя пользователя может состоять только из латинских букв верхнего и нижнего регистра, знака дефиса, подчеркивания и цифр.
- Пока не выбраны 4 фигуры и/или не введено имя пользователя, а также если имя пользователя не введено корректно, кнопка
"Начать игру"должна находится в отключенном состоянии. - После выполнения пункта 4, пользователь должен перейти на
Игровой экран.
- На игровом экране должна отображаться следующая информация:
- Имя, введенное пользователем
- Текущее время в системе в формате
чч:мм:сс - Время прошедшее с начала игры в формате
мм:сс - Следующие 3 -фигуры появляющиеся в игре
- Количество баллов, полученных игроком в игре, в начале равно нулю.
- Игровое поле представляет собой стакан Тетриса, в который фигуры падают в направлении Слева-Вправо.
- Игрок может контролировать падение фигуры
стрелкамии/илипробелом:- Стрелки Вверх-Вниз сдвигают фигуру в соответствующем направлении
- Нажатие пробела фигура падает на дно стакана мгновено, и происходит переход к следующей фигуре
- Стрелкой Вправо фигура начинает падать в стакан в 2 раза быстрее.
- Стрелкой Влево происходит поворот фигуры по часовой стрелке.
- В процессе игры, каждые 3 секунды, фигура падает в стакан, смещаясь на одну клетку.
- Если в следующее падение фигура выходит за игровой экран или пересекается с предыдущими фигурами, то падение не происходит.
- В случае, когда падение не произошло фигура должна зафиксироваться, в Слева стакана должна появится следующая фигура.
- Если в Слева стакана не нашлось места, где разместить фигуру, стакан считается заполненым, а игра окончена.
- Если упавшие фигуры складывают непрерывную линию(-ии) перпедикулярно линии падения во всю ширину стакана, то линия уничтожается, все фигуры смещаються в сторону падения, а игроку дается 1 балл.
- Задача игрока избежать заполнения стакана как можно дольше, и набрать как можно больше очков.
- Должна быть возможность поставить игру на паузу нажав кнопку
ESC. - Повторное нажатие должно продолжить игру.
- Во время паузы все интерактивные действия (анимация, секундомер, фрукты, корзина) должны быть приостановлены.
- На экране с результатами необходимо отобразить статистику игры:
- Время, которое игрок продержался в игре
- Количество набранных баллов
- Количество использованных фигур каждого типа
- На экране с результатами есть кнопка «Играть сначала» при клике, на которую игра должна перейти на "Экран входа".
- При переходе на экран входа, имя предыдущего игрока должно сохранятся
- Ваша работа должна быть доступна по адресу:
https://std2.gramend.ru/ws/feb/module2/, - Вы можете использовать библиотеку
jQuery. - Для публикации работы, файлы игры нужно разместить в
директории
/home/std2/feb/module2/. - Логины и пароли должны быть предоставлены заранее.