← Volver al Índice

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").

  1. La cuadrícula visual hospeda celdas de tierra individuales (Slots vacíos sin instanciar).
  2. 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.
  3. El jugador pulsa 1 de los 3 botones-herramienta del Menú HUD y luego clica en la planta necesitada.
  4. 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

let timeoutId = setTimeout(() => { plant.estado = 'muerta'; this.perderVidas(); }, plant.pacienciaTotalMs);

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.