- 5 Biomes: Day, Night, Pool, Fog, Roof (25 Campaign levels) - Minigames: Wall-nut Bowling, I Zombie, Roguelike, Boss Rush & Dr. Zomboss - Systems: Zen Garden, Workshop Crafting, Almanac, Tree of Wisdom, Achievements - Backend: REST API + SQLite Accounts & Save Synchronization - Infrastructure: Nginx HTTPS & Docker deployment
39 lines
1009 B
JavaScript
39 lines
1009 B
JavaScript
// 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);
|
|
});
|
|
});
|
|
}
|
|
});
|
|
|