https://williamphk.github.io/useless-web/
Этот код JavaScript является частью простой игры Snake, где змея перемещается по экрану, ест пищу и растут в длину. Код определяет поведение змеи, обрабатывает ввод клавиш со стрелками и отображает статус игры на экране.
gameBoard
, score1
, score2
выбираются с использованием их соответствующих DOM ID. Размеры игровой платы рассчитываются на основе размера экрана, разделенных на ячейки 30px. Сетка создается путем зацикливания через размеры, причем каждая ячейка представлена входом флажона. Затем игровая доска заполняется рядами и ячеек.
direction
, length
, starting position
, speed
и другие необходимые переменные определяются. Сопоставление направлений с массивными индексами и операциями также создано для легкого движения змеи. Проверка стартовой позиции змеи:
Начальная позиция змеи проверяется на игровой доске.
Функция checkRandomCellAsFood
помещает еду в случайные места на игровой доске, гарантируя, что еда не появляется на самой змеи.
Кнопка «Пуск» инициирует игру. Функция updatePosition
обновляет визуальную позицию змеи и обрабатывает логику, когда змея ест пищу или сталкивается с различными другими условиями игры. Движение змеи и изменение цвета:
Движение змеи контролируется клавишами стрел. Случайный цвет генерируется с использованием функции getRandomColor
для целей стиля.
Если змея выходит за пределы границ или сталкивается с собой, игра заканчивается. Функция gameOver
призвана для обработки игры по сценариям.
Функция uncheckAll
не проверяет все ячейки, очищая доску. Функция printGameOverWithCheckbox
напечатает «Game Over» на игровой плате с помощью проверенных флажков.
Для этого кода не требуется никаких внешних библиотек или зависимостей. Он работает исключительно на ванильном JavaScript.