Повторно введите номер, который вы видите ниже. Эз правильно?
Идея проста. Отобразите число, а затем позвольте пользователю ввести число, которое они видят на экране. Однако есть поворот. Мы начинаем с отображения однозначного числа, а затем продолжаем добавлять количество отображаемых цифр по мере того, как пользователь переходит на более высокие уровни. Мы также вводим отображение времени ожидания для номера, так что номер будет отображаться только в течение определенного периода времени, а затем будет скрыт от пользователя. Эз правильно?
Я собираюсь пропустить часть html и css и сразу перейти к части vuejs и созданию игры.
Генерация случайного числа.
Сгенерировать случайное число в javascript довольно просто. Просто добавьте Math.random()
и все готово. Однако проблема в том, что Math.random()
генерирует случайное число только между 0 and 1
. Мы хотим иметь возможность генерировать целые числа с n
числом цифр. Код ниже позволяет нам это сделать.
Теперь, когда мы позаботились о генерации случайного числа, давайте создадим новый экземпляр vue с настройкой игры.
Давайте представим, что пользователь уже видел номер, как долго мы должны ждать, прежде чем скрыть его? Вот как я это сделал. let time = this.level * 160
. В the 160
нет ничего особенного. После тестирования с различным интервалом я пришел к выводу, что этот интервал будет довольно справедливым. Мы будем использовать setTimeout
, чтобы скрыть номер, вызвав функцию hideNumber()
.
Последняя вещь. Нам нужно отобразить число, как только наш компонент загрузится. В vuejs это просто. Нам нужно поместить наш код в смонтированную функцию.
Собираем вместе.
Демо.
Этот пост был вдохновлен codepen Фама Микуна (версия React).