Пакман

Пакман задан массивом конфигурации (pacmanConfig), содержащим три элемента:
Тело: дуга (arc) желтого цвета с вырезом (от 30° до 330°)
Глаз: черный круг (дуга от 0 до 360°)
Рот: черная линия (треугольник) от центра к двум точкам, которая отображается только когда рот открыт (в анимации)
Состояние Пакмана хранится в переменных: position, rotation, scale, currentRotation, autoScale, isAnimating, mouthOpen.
Функция drawing(mass) отрисовывает массив объектов (arc или line) с применением текущих преобразований (translate, rotate, scale).
Анимация рта реализована через переключение переменной mouthOpen с интервалом ANIMATION_INTERVAL (200 мс). При этом:
Для тела Пакмана (желтый круг) при mouthOpen рисуется дуга с вырезом, иначе полный круг.
Для рта (линия) рисуется только при mouthOpen.
Управление:
Перемещение: кнопками, стрелками, перетаскиванием мыши, касанием.
Поворот: кнопками, слайдером, клавишами A/D.
Масштабирование: кнопками, слайдером, клавишами W/S.
Анимация: кнопка/пробел.
Автомасштабирование: кнопка.
Сброс: кнопка/R.
Сетка отрисовывается для ориентировки.
Статусная строка показывает текущее положение, поворот, масштаб и состояние анимации.