Sobre el proyecto

Sprout & Guard (萌芽小院) es un juego web de defensa de plantas completamente estático, con estilo de libro ilustrado cremoso. Los jugadores recolectan sol, plantan plantas y defienden un jardín de 5 filas × 9 columnas. El proyecto ofrece dos niveles seleccionables de forma independiente: Patio Soleado incluye 3 oleadas de ataque, adecuado para familiarizarse con la jugabilidad básica; Jardín del Atardecer incluye 4 oleadas y añade desafíos más fuertes como barricadas, cubos metálicos y zombis veloces. El juego incluye cinco plantas: Girasol, Lanzaguisantes, Nuez, Disparador de Hielo y Cereza Bomba, cada una con diferentes costes de sol y funciones. Los jugadores deben hacer clic en el sol para obtener recursos, seleccionar cartas de plantas para plantarlas y utilizar los mecanismos de enfriamiento, pala y la carretilla de una vez por fila para enfrentar los ataques zombis. El proyecto admite operación con ratón en PC y atajos de teclado (1–5 para seleccionar plantas, 6 para seleccionar la pala, espacio para pausar, Esc para cancelar la selección). También ofrece un diseño inmersivo en horizontal para móviles y tabletas, e intenta entrar automáticamente en pantalla completa. Los registros de niveles superados y la configuración de sonido se guardan localmente en el navegador. El juego no tiene dependencias de ejecución de terceros, solicitudes de recursos externos ni servicios backend. Con los archivos completos, puede ejecutarse en un entorno sin conexión mediante un servidor HTTP local. Debido al uso de ES Modules del navegador, no se puede hacer doble clic directamente en index.html; es necesario iniciar un servidor estático (por ejemplo, python -m http.server 8000) y luego acceder. El proyecto también puede desplegarse directamente en GitHub Pages sin pasos de compilación. La estructura del código es clara: index.html se encarga de la estructura de la página, style.css maneja la interfaz de estilo libro ilustrado y la adaptación horizontal, main.js gestiona la interacción, animación y sonido, engine.js implementa plantas, zombis, oleadas y reglas de victoria/derrota, y art.js se encarga del dibujo de personajes y escenarios en Canvas.