Professional Documents
Culture Documents
addEventListener('DOMContentLoaded', () => {
const squares = document.querySelectorAll('.grid div')
const scoreDisplay = document.querySelector('span')
const startBtn = document.querySelector('.start')
const width = 10
let currentIndex = 0
let appleIndex = 0
let currentSnake = [2,1,0]
let direction = 1
let score = 0
let speed = 1
let intervalTime = 0
let interval = 0
function moveOutcomes() {
if (
(currentSnake[0] + width >= (width * width) && direction === width ) ||
(currentSnake[0] % width === 0 && direction === -1) ||
(currentSnake[0] - width < 0 && direction === -width) ||
squares[currentSnake[0] + direction].classList.contains('snake')
) {
return clearInterval(interval)
}
if(squares[currentSnake[0]].classList.contains('apple')) {
squares[currentSnake[0]].classList.remove('apple')
squares[tail].classList.add('snake')
currentSnake.push(tail)
randomApple()
score++
scoreDisplay.textContent = score
clearInterval(interval)
intervalTime = intervalTime * speed
interval = setInterval(moveOutcomes, intervalTime)
}
squares[currentSnake[0]].classList.add('snake')
}
function randomApple() {
do{
appleIndex = Math.floor(Math.random() * squares.length)
} while(squares[appleIndex].classList.contains('snake'))
squares[appleIndex].classList.add('apple')
}
function control(e) {
squares[currentIndex].classList.remove('snake')
document.addEventListener('keyup', control)
startBtn.addEventListener('click', startGame)
})