Sustainable Garden
Documentación Técnica
1. Ficha Técnica
- Nombre: Sustainable Garden
- ODS: ODS 15 - Vida de Ecosistemas Terrestres
- Objetivo: Reaccionar a las exigencias variables (semillas, agua, sol) de las distintas plantas de un huerto, proveyéndolas del ítem seleccionado oportuno antes de que marchiten.
2. Mecánica y Flujo de Juego
Categorizado como un Time/Resource Management primitivo ("Plant Nanny" / Tamagotchi). El ritmo es altamente multitarea y depende del UI para conmutar estados ("tools").
- La cuadrícula visual hospeda celdas de tierra individuales (Slots vacíos sin instanciar).
- El temporizador Global arranca y, periódicamente, una celda cambia visual y lógicamente reclamando una necesidad de las 3 disponibles (semilla, agua, luz), mediante el renderizado de iconos CSS y Emojis DOM.
- El jugador pulsa 1 de los 3 botones-herramienta del Menú HUD y luego clica en la planta necesitada.
- El clic resuelve un empate/
if(requerimiento === herramientaActiva)devolviendo a la planta a su estado neutral `healthy`.
3. Lógica de Programación
Las plantas individuales implementan su propio ciclo de vida y muerte. No están aglomeradas sino indexadas en una matriz manejable.
Manejadores de Timeout por Slot
El desafío consiste en clearTimeout(timeoutId) instantes antes de que dicho Timeout dispare el trigger destructivo, siempre y cuando la Herramienta (Tool) del puntero coicida con el tag de esa planta.
Escaneo Masivo UI
Una variable this.selectedTool guarda un string universal en la clase madre (ej: 'water'). El DOM repinta border: 3px solid yellow alrededor del botón HTML activo, emulando la barra caliente de inventario clásica en juegos de Farming.
4. Sistema de Victoria/Derrota
Victoria: Resistir la oleada controlando el caos. Cada sanación computa un número a this.plantsSaved. Llegar a la meta culmina el Nivel.
Derrota: Cualquier planta que el usuario ignore o que intente subsanar con la herramienta equívoca, transicionará a inerte y penalizará globalmente al usuario o fallará sumariamente el Minijuego.
