Тестовое задание. JavaScript Задача Создать приложение-игру “Убери кубики”. Суть игры заключается в следующем: на HTML-странице есть поле, на котором расположены в случайном порядке “кубики” - разноцветные блоки. Кубики убираются с поля наведением курсора на кубик и последующим кликом левой кнопкой мышки. Даётся время - 1 минута. По мере убирания с поля кубиков, на поле появляются новые кубики (случайное количество от 0, 1 или 2). Уборка каждого кубика приносит 1 очко игроку. Цель игры - за 1 минуту набрать наибольшее количество очков. Набранные очки и оставшееся время отображаются в отдельных полях. По истечению времени появляется всплывающее окно, на котором отображены кол-во набранных очков и поле для ввода имени игрока. После ввода имени и нажатии кнопки “OK” (“Сохранить”) в табличке результатов добавляется строка с введённым именем игрока и соответствующим кол-вом очков. HTML-страница игры должна содержать игровое поле, кнопки “Старт/Пауза”, “Начать заново”, блок с отображением оставшегося времени, кол-во набранных в текущей игре очков, таблица результатов. При перезагрузке страницы таблица результатов может очищаться. Mockup-ы страниц - ниже по тексту.
Требования:
Всё полностью работает только в браузере (backend-часть или api тут не нужно) Используемый язык: JavaScript. Все элементы интерфейса и игрового поля - обычные HTML-элементы (не canvas). Допускается использование jQuery и других библиотек. Для упрощения работы с элементами интерфейса (кнопки, элементы форм, всплывающие окна и пр.) обязательно использовать какой-либо CSS-фреймворк (например, Bootstrap). Исходный код (минимальный набор: HTML-страница с игровым полем, страница с описанием правил) выкладывается на github.com
Критерии оценивания
Обязательно: Соответствие заданию и реализация базовых правил (перечислены в задании) Качество и прозрачность/понятность кода. Валидность HTML-кода и JS-кода.
Опционально (если выполнили - “плюс в карму”): Разработка и реализация более сложных правил/уровней , например: кубики разных цветов приносят разное количество очков, кубики меньшего размера приносят больше очков, появление кубиков, которые добавляют или отнимают время, разные кубики исчезают за разное количество кликов). Сохранение результатов игр (имя + набранные очки) в локальном хранилище (LocalStorage, IndexedDB или куки) в браузере. Т.е. при перезагрузке окна можно наблюдать “таблицу рекордов” предыдущих игроков (до очистки хранилища).