Ударь крота
Демо можно найти здесь.
Чему я научился на этом мини-проекте.
isTrusted
Здесь событие click
важно для определения исхода игры, поэтому нам нужно защититься от ложных кликов, которые можно сымитировать с помощью дерзкого javascript-кода.
Использование свойства isTrusted
позволяет подтвердить, что событие было сгенерировано действием пользователя.
Приведенный выше код вернется, если событие не было результатом действий пользователя (не через скрипт).
Рекурсия
Этот метод использовался для предотвращения использования одного и того же отверстия дважды подряд. Важно возвращать значение в методе randomHole
, чтобы его можно было использовать рекурсивно.
Здесь переменная lastHole
будет присвоена случайно сгенерированному отверстию. Если следующий вызов создаст ту же дыру, randomHole
будет вызываться снова до lastHole != hole
.
Первоначально опубликовано на gist.github.com.