как написать викторину на js

Игра на чистом JavaScript за 20 минут

На JS можно создавать сложные и простые игры любых жанров. Мы расскажем как создать 2D игру на JavaScript и HTML5 всего за 20 минут.

На html странице прописывается лишь тег канвас, а также подключение JS файла, в котором будет происходить обработка всей функциональности. К примеру, HTML файл может выглядеть следующим образом:

В JS файле необходимо найти нужный канвас по id и указать способ работы с ним.

Добавление изображений и аудио

Далее необходимо загрузить все изображения, а также аудио файлы, которые будут использоваться в игре. Для этого используйте класс Image и Audio соответсвенно. Ниже вы можете скачать все необходимые картинки, а также аудиофайлы к игре.

flappy bird bird

flappy bird bg

flappy bird pipeUp

flappy bird pipeBottom

flappy bird fg

Код добавления изображений и аудио в игру:

Рисование объектов

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

Видео урок

Это были лишь небольшие азы перед созданием самой игры. Предлагаем вам ознакомиться с небольшим видео уроком, в ходе которого вы создадите небольшую 2D игру на чистом JavaScript’е.

Весь JS код игры

Ниже вы можете посмотреть на полностью весь код JavaScript файла, который был создан в ходе видео урока выше:

Источник

Как сделать простой тест JavaScript

«Как мне составить тест на JavaScript?» — один из самых распространенных вопросов, задаваемых людьми, изучающими веб-разработку, и на то есть веские причины. Викторины это весело! Это отличный способ узнать о новых предметах, и они позволяют вам привлечь аудиторию чем-то веселым и игривым.

Эта популярная статья была обновлена ​​в 2020 году, чтобы отразить современные лучшие практики JavaScript.

0da7d6fed13e463b57308a95907e1b1e

Что нужно знать перед началом

Несколько вещей, которые нужно знать перед началом:

Основная структура вашего JavaScript викторины

В идеале мы хотим, чтобы вопросы и ответы теста были в нашем коде JavaScript, и чтобы наш скрипт автоматически генерировал тест. Таким образом, нам не нужно писать много повторяющихся разметок, и мы можем легко добавлять и удалять вопросы.

Чтобы настроить структуру нашей викторины JavaScript, нам нужно начать со следующего HTML:

Вот как это будет выглядеть:

Затем мы можем выбрать эти элементы HTML и сохранить ссылки на них в переменных следующим образом:

Далее нам понадобится способ построить тест, показать результаты и собрать все вместе. Мы можем начать с выкладывания наших функций и заполнять их по ходу дела:

Здесь у нас есть функции, чтобы построить тест и показать результаты. Мы немедленно запустим нашу функцию buildQuiz и showResults нашу функцию showResults когда пользователь нажмет кнопку отправки.

Отображение вопросов викторины

Следующее, что нужно нашему тесту, — это несколько вопросов для отображения. Мы будем использовать объектные литералы для представления отдельных вопросов и массив для хранения всех вопросов, составляющих наш тест. Использование массива позволит легко перебирать вопросы:

Не стесняйтесь задавать столько вопросов или ответов, сколько хотите.

Теперь, когда у нас есть список вопросов, мы можем показать их на странице. Мы рассмотрим следующий JavaScript-код построчно, чтобы увидеть, как он работает:

Сначала мы создаем output переменную, которая будет содержать весь вывод HTML, включая вопросы и варианты ответов.

Далее мы можем начать строить HTML для каждого вопроса. Нам нужно будет просмотреть каждый вопрос следующим образом:

Теперь давайте посмотрим код внутри нашего цикла:

Для каждого вопроса мы хотим сгенерировать правильный HTML, и поэтому наш первый шаг — создать массив для хранения списка возможных ответов.

Получив наш список кнопок ответа, мы можем вставить HTML-код вопроса и HTML-ответ в наш общий список результатов.

Обратите внимание, что мы используем шаблонный литерал и некоторые встроенные выражения, чтобы сначала создать вопрос div, а затем создать ответ div. Выражение join берет наш список ответов и объединяет их в одну строку, которую мы можем вывести в наши answers div.

Теперь, когда мы сгенерировали HTML для каждого вопроса, мы можем объединить его все вместе и показать на странице:

Теперь наша функция buildQuiz завершена.

Источник

Создание викторины на Vue.js

image loader

Я не понимаю Angular. Мне очень нравится React, но я все еще изучаю его основы. Давайте попробуем Vue. Я расскажу, как я сделал микро-викторину.

Инициализация

Сначала создайте небольшой HTML-скелет и подключите Vue.

Сохраните его как foo.html и откройте в браузере. Вы должны увидить Hello., — это значит, что все работает. Мы только что научились отображать данные с помощью синтаксиса Mustache: << title >>

Данные

Затем создайте простой объект викторины и добавьте его к данным экземпляра Vue.

Это наша викторина, следующий шаг — отобразить ее с помощью циклов Vue.

Отображение данных в HTML

Vue предоставляет декларативную систему циклов добавлением в элемент HTML аттрибута v-for=»item on items».

Vue имеет ненавязчивую реактивную систему. Если объект данных изменяется, HTML-отображение обновляется. Теперь викторина полностью готова, она живая и реактивная.

Навигация

До сих пор все вопросы отображались на одной странице. Давайте изменим викторину так, чтобы отображать только один вопрос на странице. Чтобы сделать это, мы должны добавить кнопки «Следующий» и «Предыдущий» для каждого вопроса и скрыть все вопросы, которые не являются текущим.

Экземпляр Vue: методы навигации

Приложение, которое мы создали, должно иметь дело с пользовательским вводом: нажатиями на кнопки. Сначала добавьте поле текущего индекса вопроса и два метода навигации в экземпляр Vue.

Поле questionIndex увеличивается с помощью next() и уменьшается с помощью prev()

HTML: кнопки навигации

Создайте кнопку с директивой v-on:click=»next», чтобы вызвать метод next(). Добавьте v-show=»index === questionIndex» в контейнер вопросов, чтобы отображать только текущий вопрос (не забудьте добавить параметр index в директиву v-for)

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

Результат викторины

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

Обработка ответов пользователей

Прямо сейчас, радио-кнопки викторины не имеют привязки к Vue: клик по радио-кнопке не имеет эффекта. Директива v-model создает двустороннюю связь между вводом формы и состоянием приложения. Замените ранее созданную радио-кнопку.

Атрибуты name и value привязаны к данным Vue. Затем инициализируйте userResponses в экземпляре Vue.

Это был последний шаг для обработки пользовательских ответов: userResponses содержит живой массив «true, если ответ правильный». Вы можете перемещаться вперед и назад, выбирать и изменять ответы и видеть обновления userResponses.

Показ счета

Конечный счет — сумма «true» значений в userResponses. Создайте метод в приложении Vue, чтобы вычислять этот счет.

Затем добавьте итоговую страницу викторины с общим счетом.

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

Послесловие

Мои навыки в javascript немного хромают и я только начал заниматься Vue. Я хотел поделиться чувством, как легко начать с ним работу. Не стесняйтесь критиковать меня.

Источник

Как создавать тесты и викторины на JavaScript

Разбираемся, как создавать тесты и викторины для сайта на ванильном JavaScript.

ee63257126d7b60b14019713b93f4a17

63bb0690285c10a4de4ead186cd15d25

Тесты и викторины хороши не только ради проверки знаний, но и как развлекательный контент, который заставляет пользователей дольше оставаться на сайте.

Чтобы их создать, можно воспользоваться сторонними сервисами, но разве это когда-нибудь останавливало хоть одного разработчика? С любовью изобретать велосипеды мы создадим собственный код для встраивания тестов на страницы.

Репозиторий проекта на GitHub

kucheryaviy

Пишет о программировании, в свободное время создает игры. Мечтает открыть свою студию и выпускать ламповые RPG.

Вёрстка страницы

Тест мы поместим в файл quiz.html, чтобы его можно было вставлять с помощью iframe в другие страницы. Давайте сверстаем тест:

Теперь добавим стили:

В файл index.html добавим iframe, чтобы подключить тест:

Смотрим, что получилось:

16385824062020 db52642fc67f6c7c46657360f234a883af322464

Наверху находится сам вопрос, под ним — варианты ответов, а в самом низу — прогресс прохождения теста.

Создаём классы

Тест будет работать с помощью следующих классов:

Когда классы готовы, можно инстанцировать объекты (создавать экземпляры):

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

Остаётся только прописать логику взаимодействия с пользователем:

Смотрим, что получилось:

16385924062020 f0646c625095b49e4e4c41332dd1408112ad8d69

Когда пользователь завершит тест, то увидит свой результат:

16385824062020 27e9aa5bdf801f94f7728fe14d1ac08405e5a691

Особенности создания разных тестов

Как вы могли заметить, это очень простой тест. Он пригодится, чтобы пользователи могли проверить, насколько хорошо они усвоили материал. Ну или просто для веселья — вот несколько тем для развлекательных тестов:

Всё это может быть очень забавным и вовлекающим, если учитывать особенности своей аудитории. Например, для программистов есть интересные тесты на сайте tproger.ru.

16385924062020 e3ea06ecc4efe66fd609360c227a5daace25eda6

Другое дело, если у вас образовательная платформа и результаты теста влияют на итоговую оценку. В этом случае данные о правильных ответах нужно хранить на сервере. Иначе их можно подсмотреть через консоль разработчика:

16385924062020 6a4e9b3ae3023faad72ace61e6264ce47ed78056

То же самое касается и таймеров: если вы даёте ограниченное время на прохождение теста, то время начала отсчёта должно храниться на сервере, а не в JS-коде.

Заключение

С помощью кода из статьи можно создавать сколько угодно тестов. Разве что для каждого придётся дублировать файл app.js, чтобы указать новые вопросы.

Исправить это можно с помощью HTTP-запросов — вопросы будут храниться на сервере и отправляться пользователю в виде JSON. Это очень распространённая практика в веб-разработке, которую нужно знать каждому разработчику.

Если вы хотите лучше освоить JavaScript, то можете записаться на наш курс по Frontend-разработке.

Frontend-разработчик

Ноутбук, ваши навыки и знания, а также стабильный интернет — это всё, что нужно для эффективной работы. Толковые веб-разработчики высоко ценятся в международных компаниях и часто получают приглашения о работе. На курсе вы научитесь верстать сайты и создавать интерфейсы, а также соберёте два проекта в портфолио и получите современную профессию.

Источник

MnogoBlog

как создать сайт на wordpress, настроить и оптимизировать wordpress

cropped headerimger01

Как создать тест или опрос на JavaScript

Здравствуйте, давайте создадим тест и опрос на html, который будет состоять из 3 вопросов и 6 ответов в каждом из них и обработаем их результаты с помощью javascript.

Для того чтобы узнать какой товар (услуга) пользуется наибольшим спросом на данный момент времени применяют различные опросы и тесты.
Как только вы сможете проанализировать результаты тестов и опросов – начинайте рекламировать ваш товар (услугу) – лучше всего для этого подойдет Яндекс.Директ – идеальная площадка для размещения рекламы на просторах Рунета. Ежедневно эту сеть посещает свыше 5 миллионов пользователей в России и других странах СНГ, поэтому частотность показов релевантных объявлений достаточно высокая. А для того чтобы ваша реклама была максимальна эффективна, то лучше всего обратиться по настройке Яндекс.Директа к профессионалам от Direct-UP – dircet-up.ru. Удачного вам бизнеса!

1. Создаем тест на JavaScript:

Тест будет состоять из 3 вопросов, вы можете установить правильный ответ в каждом из вопросов и в зависимости от набранных баллов перенаправить посетителя на разные страницы.

Рассмотрим код первого вопроса:

Здесь правильный ответ помечен значением value2, все остальные имеют значение value1.

Теперь давайте посмотрим на простой оператор if, который мы используем в JavaScript, чтобы найти сколько же набрано правильных ответов в тесте:

В принципе, мы проверяем только значение value2 и в зависимости от его количества выставляем оценку.

После того, как мы узнали оценку, то можем перенаправить посетителя на разные странички, в зависимости от результата:

Например, перенаправить посетителя на страничку /ocenka2.html.

Вот готовый код файл index.html:


2. Создаем простой опрос на javaScript:

Рассмотрим код первого вопроса:

Затем мы повторяем этот шаблон для каждого вопроса.

Теперь давайте посмотрим на простой оператор if, который мы используем в JavaScript, чтобы найти ответ с наибольшим значением:

В принципе, мы проверяем, что сумма всех ответов со значением value1 выше суммы других возможных вариантов, а также что она выше 0.

Мы выполняем одинаковую проверку для каждого значения.

После того, как мы знаем, самое высокое значение, мы можем использовать этот результат, например, чтобы перенаправить посетителя на разные url:

Так если в большинстве вопросов был выбран ответ под цифрой 1, то result = value1 и соответственно посетитель попадет на страничку value1.html.

Источник

Понравилась статья? Поделить с друзьями: