// Entry point for Plants vs Zombies game document.addEventListener('DOMContentLoaded', () => { const startModal = document.getElementById('start-modal'); const btnStart = document.getElementById('btn-start'); const engine = new window.GameEngine('gameCanvas'); function startGame() { if (startModal) { startModal.classList.add('hidden'); } // Initialize Web Audio on user gesture if (window.PvZAudio) { window.PvZAudio.init(); } engine.init(); } if (btnStart) { btnStart.addEventListener('click', startGame); } else { startGame(); } // Register PWA Service Worker for offline play if ('serviceWorker' in navigator) { window.addEventListener('load', () => { navigator.serviceWorker.register('./sw.js') .then((reg) => { console.log('PvZ ServiceWorker registered:', reg.scope); }) .catch((err) => { console.warn('PvZ ServiceWorker registration failed:', err); }); }); } });