Це проста браузерна реалізація гри в стилі Pac-Man, написана на чистому JavaScript + HTML5 Canvas.
Гравець керує Pac-Man і має збирати точки (звичайні кульки) та бонуси, уникаючи привидів. Є три передналаштовані рівні складності: Легкий, Середній та Важкий. Гра підтримує паузу, рестарт та відображає рахунок і поточні FPS.
index.html— основна HTML-сторінка з меню, canvas та елементами керування.game.js— логіка гри: карта, правила, рендеринг, керування, вороги (привиди) та FPS-адаптація.styles.css— стилі для меню, canvas та панелей інтерфейсу.readme.md— цей файл.
- Запустіть
index.htmlу браузері (подвійний клік або через локальний сервер). - Оберіть рівень складності в меню (Легкий / Середній / Важкий).
- Натисніть кнопку "▶ Розпочати ..." щоб почати гру.
Мета: зібрати всі точки на карті. Якщо з'їсти бонус (позначено як більша іконка), Pac-Man стає тимчасово сильнішим і може знищувати привидів за додаткові очки. Якщо привид наздоганяє Pac-Man поза режимом бонуса — гра закінчується (Game Over).
- Стрілки клавіатури: рух Pac-Man (Вгору/Вниз/Вліво/Вправо).
- Кнопка "Пауза": поставити/зняти паузу.
- Кнопка "Рестарт": перезапустити поточний рівень.
- Кнопка "Меню": повернутися в меню вибору рівня.
Інтерфейс також показує поточний рахунок (Score) і FPS-лічильник.
У коді є три карти (maps) і налаштування швидкості/кількості привидів в levelConfigs:
- easy — кілька привидів, повільніші вороги.
- normal — стандартний режим (за замовчуванням).
- hard — більше привидів і вища швидкість.
Ви можете змінювати масиви maps та параметри в levelConfigs у файлі game.js, щоб редагувати структуру рівнів або баланс складності.
- Canvas розмір адаптується під роздільну здатність вікна. Розмір тайла (
tile) обчислюється динамічно. - Швидкості Pac-Man та привидів адаптуються під поточні FPS, щоб гра виглядала плавно на різних пристроях.
- Привиди мають просту логіку: червоний привид намагається наблизитися до гравця, інші рухаються випадково.
Найпростіший спосіб — відкрити index.html у сучасному браузері (Chrome, Edge, Firefox). Для кращої сумісності з деякими браузерами або якщо ви плануєте модифікувати код, рекомендую використовувати локальний HTTP-сервер.
Приклади запуску (PowerShell):
# 1) За допомогою Python 3
python -m http.server 8000
# 2) Якщо встановлено Node.js + http-server
npx http-server -p 8000Потім відкрийте у браузері: http://localhost:8000
Примітка: у Windows можна просто двічі клікнути index.html, але локальний сервер потрібен, якщо ви хочете уникнути обмежень CORS або використовувати імпорт модулів у майбутніх змінах.
- Додати звук (звукові ефекти для поїдання кульок, бонусів, смерті).
- Зберігання рекордів (localStorage) та таблиця лідерів.
- Покращена штучна інтелект (Vulnerable режим, маршрутизація як в оригіналі).
- Додавання мобільних та сенсорних контролів (тач-панелі).
- Анімації для переходів між екранами й меню.
Проєкт створений студентом/розробником для навчальної мети. Використовуйте код вільно для навчання та модифікацій. Якщо хочете, додайте посилання/згадку про автора у форку.
Якщо потрібно, можу додати англійську версію README, інструкцію зі зборки/деплою, або впровадити будь-яку з перелічених ідей — дайте знати, що пріоритетніше.