Skip to content

In this project, I implemented the frontend part using HTML, CSS, and JavaScript. The main focus was on dynamic user interaction through vanilla JavaScript.

Notifications You must be signed in to change notification settings

AntoninaPavlova/Game-Hello

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Game Hello

Ссылка на проект

Описание

В данной интерактивной игре пользователи за ограниченное время могут проверить свои знания и выйграть главный приз, отвечая на вопросы есть ли данный товар в магазине. За каждый правильный ответ пользователь накапливает баллы, соревнуется с другими участниками и бонусом получает промокод.

bandicam.2025-01-21.17-02-02-023.mp4

Функционал

  • Начало игры: Пользователь может начать игру, нажав кнопку "Начать игру". Это перенаправляет его на игровую страницу, где начинается отсчет времени.
  • Таймер: В игре установлен таймер на 60 секунд. Таймер отображает оставшееся время в формате MM:SS. Если время истекает, игра автоматически завершается.
  • Карты: Карты перемешиваются и подгружаются на игровое поле. Пользователь взаимодействует с ними по клику на кнопки "Да" - "Нет", по клику на мышь, либо по касанию на экран. .
  • Система баллов: Пользователь зарабатывает баллы за правильные ответы. Баллы отображаются на экране, пользователь может видеть текущий счет.
  • Результаты и промокоды: После завершения игры пользователю показывается результат, включая заработанные очки и промокод.
  • Переключение между окнами: Пользователь может переключаться между различными окнами приложения, такими как: стартовое окно, окно игры, результат, регистрация, турнирная таблица, найти свой результат, и qr приложения.
  • Поделиться: Пользователь может поделиться ссылкой на игру, нажав на кнопки "Vk" - "Ok"
  • Управление меню: Для удобной навигации пользователь может использовать меню.

Используемые технологии

  • HTML
  • СSS
  • Less
  • JS

Навыки

В процессе разработки данной игры я закрепила следующие темы:

  1. Условные операторы: Конструкции if, if...else, if...else if.

  2. Циклы: Цикл for для повторяющихся операций.

  3. Декрементирование и инкрементирование переменной: Операции увеличения и уменьшения значений переменных.

  4. Математические операции: Math.floor() для округления чисел. Math.random() для возврата случайного числа.

  5. Массивы и методы: Методы работы с массивами, такие как forEach() для перебора элементов, map() для трансформации массивов и join() для объединения элементов в строку.

  6. Стрелочные функции: Синтаксис и область видимости.

  7. Вызов других функций: Одна функция может вызывать другие функции.

  8. Поиск элементов на тсранице Используя querySelector.

  9. Обработка событий: Методом addEventListener(). Если несколько элементов, к которым нужно повесить событие, то используется метод forEach(), чтобы перебрать каждый элемент в коллекции и добавить к нему обработчик.

  10. DOM-манипуляции: Свойства textContent - позволяет считывать или задавать текстовое содержимое элемента. innerHTML - позволяет задать или изменить HTML-содержимое элемента, а также метод remove() для удаления элементов из DOM.

  11. Работа с классами CSS: Свойство classList с различными методами, которые позволяют динамически управлять классами элементов на странице. classList.toggle() - добавлять и убирать класс, classList.add() - добавлять класс и classList.remove() - удалять класс.

  12. Динамическое присвоение стилей: Если нам необходимо добавить стили, которые не прописаны в css, можно это реализовать у элемента через style в js.

  13. Перенаправление: Объект location хранящийся в window, который позволяет получать информацию о текущем адресе страницы и менять его.

  14. Шаблонные строки: Шаблонные строки объявляются с помощью обратных кавычек `` и предоставляют возможность использовать строковую интерполяцию ${ }.

  15. Форматирование строк: Метод padStart, который помогает форматировать строки до заданной длины.

  16. Работа с таймером: Методы setInterval(), setTimeout() для выполнения кода через определенные интервалы времени, и clearInterval() - для отмены.

  17. Доступ к свойствам объектов: Например, через точку.

  18. Замыкание: Концепцию замыкания, которая позволяет функциям использовать переменные из внешнего контекста, например в функциях анимации.

  19. Алгоритм Фишера-Йетса: Алгоритмом Фишера-Йетса для перемешивания элементов массива.

  20. Анимацию: Через @keyframes.

Установка и запуск

  1. Склонируйте репозиторий на свой компьютер: git clone https://github.com/AntoninaPavlova/Game-Hello.git
  2. После загрузки разархивируйте
  3. Запустите файл index.html

About

In this project, I implemented the frontend part using HTML, CSS, and JavaScript. The main focus was on dynamic user interaction through vanilla JavaScript.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published