Любая игра состоит из трёх частей:
- Состояние — где находятся объекты (змейка, еда)
- Обновление — логика движения и столкновений
- Отрисовка — рисуем текущее состояние на Canvas
// Состояние
let змейка = [{x:5, y:5}]; // массив сегментов
let еда = {x:10, y:10};
let направление = {x:1, y:0}; // движение вправо
let счёт = 0;
// Игровой цикл (запускается каждые 150мс)
function gameLoop() {
обновить();
нарисовать();
}
setInterval(gameLoop, 150);
📖 Словарик
Game loop
Бесконечный цикл: обновить состояние → нарисовать → повторить.
"setInterval(gameLoop, 150) — 6-7 кадров в секунду"
Состояние игры
Все данные, описывающие текущую ситуацию: позиции, очки.
"Массив змейки + позиция еды + счёт"