Загрузка данных


const canvas = document.getElementById("gameCanvas");
const ctx = canvas.getContext("2d");
const scoreDisplay = document.getElementById("score");

// Настройки игрока (квадрата)
let target = {
    x: 200,
    y: 150,
    size: 40,
    speedX: 3,
    speedY: 3
};

let score = 0;

// Функция генерации случайных чисел (чтобы отбрасывать квадрат при клике)
function getRandomInt(min, max) {
    return Math.floor(Math.random() * (max - min)) + min;
}

// Главный игровой цикл (обновление кадра)
function updateGame() {
    // 1. Очищаем экран
    ctx.clearRect(0, 0, canvas.width, canvas.height);

    // 2. Двигаем квадрат
    target.x += target.speedX;
    target.y += target.speedY;

    // 3. Отскок от левой и правой стены
    if (target.x <= 0 || target.x + target.size >= canvas.width) {
        target.speedX = -target.speedX;
    }
    // Отскок от верхней и нижней стены
    if (target.y <= 0 || target.y + target.size >= canvas.height) {
        target.speedY = -target.speedY;
    }

    // 4. Рисуем квадрат (пусть будет зеленым)
    ctx.fillStyle = "#00ff00";
    ctx.fillRect(target.x, target.y, target.size, target.size);

    // Вызываем следующий кадр
    requestAnimationFrame(updateGame);
}

// Отслеживаем клики мыши по canvas
canvas.addEventListener("click", function(event) {
    // Получаем координаты клика относительно canvas
    const rect = canvas.getBoundingClientRect();
    const mouseX = event.clientX - rect.left;
    const mouseY = event.clientY - rect.top;

    // Проверяем, попал ли клик внутрь квадрата
    if (mouseX >= target.x && mouseX <= target.x + target.size &&
        mouseY >= target.y && mouseY <= target.y + target.size) {
        
        // Попал! Увеличиваем счет
        score++;
        scoreDisplay.innerText = "Очки: " + score;

        // Телепортируем квадрат в случайное место
        target.x = getRandomInt(0, canvas.width - target.size);
        target.y = getRandomInt(0, canvas.height - target.size);

        // Немного увеличиваем скорость при каждом попадании
        target.speedX += (target.speedX > 0 ? 0.5 : -0.5);
        target.speedY += (target.speedY > 0 ? 0.5 : -0.5);
    }
});

// Запуск игры
updateGame();