Antigravity 2cd343e8ef feat: Add Pause system, User Profile Dashboard, and shift grid with neighbour fence
- Implement in-game pause with Space/KeyP hotkeys and pause banner overlay
- Split Auth modal into clean Profile Dashboard (stats, coins, cloud save status) and Guest Login
- Shift lawn startY to 108 to make top-row zombie HP bars 100% visible
- Render decorative wooden neighbour fence above top row
2026-09-17 10:12:56 +00:00

🌻 Plants vs. Zombies — Web Edition

Полноценная браузерная реализация культовой игры Plants vs. Zombies на чистом HTML5 Canvas и Web Audio API (0 внешних JS-фреймворков и библиотек) с серверной частью на Python и SQLite.


🎮 Особенности игры

  • 5 Биомов газона:

    • ☀️ День (Day) — классический газон с падающим солнцем.
    • 🌙 Ночь (Night) — отсутствие солнца с неба, грибы и могилы.
    • 🏊 Бассейн (Pool) — 6 линий, водные дорожки, кувшинки.
    • 🌫️ Туман (Fog) — ночной бассейн со сложной видимостью.
    • 🏠 Крыша (Roof) — наклонные скаты, цветочные горшки и катапульты.
  • Режимы игры:

    • 🌿 Кампания (Приключение): 25 уровней с прогрессией и наградами.
    • ⚔️ Выживание (Survival): бесконечные флаги с нарастающей сложностью.
    • 🎳 Боулинг (Wall-nut Bowling): мини-игра с конвейерной подачей орехов.
    • 🧠 Я, Зомби (I, Zombie): игра за сторону зомби против обороны растений.
    • 🎲 Садовый Рогалик (Roguelike): драфт реликвий, случайные этажи и баффы.
    • 👑 Битва с Боссом & Boss Rush: доктор Зомбосс на боевом роботе Зомботе.
  • Пассивные механики и прокачка:

    • 🧪 Сад-Мастерская: 3-уровневая прокачка растений и 5 пассивных перков.
    • 🪴 Дзен-Сад: выращивание ростков, сбор монет и улитка Стинки.
    • 📖 Пригородный Альманах: справочник всех 13 растений и 8 зомби.
    • 🏆 Зал Достижений: система трофеев и наград.
    • 🌳 Древо Мудрости: прокачка высоты и открытие скрытых чит-кодов.
    • 🎨 Темы оформления: Классическая, Киберпанк, Ретро 8-bit, Зима.
  • Серверная часть и профили:

    • 👤 Система аккаунтов и гостевой режим (SQLite + REST API).
    • 💾 Автоматическая синхронизация сохранений и прогресса на сервере.
    • 🐛 Интегрированная система баг-репортов и обратной связи.
    • 📱 PWA: поддержка автономной игры (Offline Service Worker).

📁 Структура проекта

├── game/                    # Frontend игры
│   ├── index.html           # Главный HTML-документ
│   ├── css/style.css        # Стили и адаптивный UI
│   ├── js/
│   │   ├── main.js          # Точка входа
│   │   ├── game.js          # Игровой движок (GameEngine)
│   │   ├── entities/        # Сущности (растения, зомби, снаряды)
│   │   ├── systems/         # Игровые системы (экономика, волны, комбат, сад и т.д.)
│   │   └── utils/           # Аудио, тест-API, спрайты
│   └── manifest.json        # PWA манифест
├── scripts/                 # Backend & скрипты
│   ├── feedback_server.py   # HTTP REST сервер (Auth & Bug Reports)
│   ├── db.py                # Менеджер SQLite базы данных
│   └── test_game.py         # Автономный тест-раннер (235+ тестов)
├── nginx/                   # Конфигурации Nginx
├── docker-compose.yml       # Развертывание Nginx в Docker
└── .env.example             # Пример переменных окружения

🚀 Быстрый старт

Требования

  • Python 3.10+
  • Nginx / Docker (опционально)

Запуск бэкенда

python3 scripts/feedback_server.py

Сервер запустится на порту 8001 и автоматически создаст базу данных data/pvz.db.

Запуск тестов

python3 scripts/test_game.py

📜 Лицензия

Open Source. Создано в рамках проекта Qpid Web Gaming.

S
Description
Plants vs. Zombies Web Edition — HTML5 Canvas, Web Audio API, SQLite, Campaigns & Minigames
Readme
551 KiB
0 Stars 1 Watchers 0 Forks
Languages
JavaScript 61%
Python 16.2%
HTML 13.8%
CSS 8.8%
Shell 0.2%