Snake-app-mouse.js code
import { snakeGrowth, eatedOrOnSnake, fieldSize } from './snake-app-snake.js'
let mouse = randomMousePosition()
const GROWS_RATE = 1
export let mouseCount = 0
export function updateMouse() {
if (eatedOrOnSnake(mouse)) {
mouseCount++
const score = document.querySelector('.score')
score.textContent = mouseCount
score.dataset.howManyMouses = ''
snakeGrowth(GROWS_RATE)
mouse = randomMousePosition()
setTimeout(() => {
score.removeAttribute('data-how-many-mouses')
}, 1400)
}
}
export function drawMouse(snakeField) {
const mouseElement = document.createElement('div')
mouseElement.style.gridColumnStart = mouse.x
mouseElement.style.gridRowStart = mouse.y
mouseElement.classList.add('mouse')
snakeField.append(mouseElement)
}
function randomMousePosition() {
let newMousePosition
while (newMousePosition == null || eatedOrOnSnake(newMousePosition)) {
newMousePosition = randomPositionOnField()
}
return newMousePosition
}
function randomPositionOnField() {
return {
x: Math.floor(Math.random() * fieldSize) + 1,
y: Math.floor(Math.random() * fieldSize) + 1,
}
}
export function clearMouseCount() {
mouseCount = 0
}