Recycle Sort
Documentación Técnica
1. Ficha Técnica
- Nombre: Recycle Sort
- ODS: ODS 12 - Producción y Consumo Responsable
- Objetivo: Arrastrar los residuos que caen continuamente hacia los cubos de reciclaje del color correcto antes de que toquen el suelo.
2. Mecánica y Flujo de Juego
Fusiona el concepto de Sorting educacional (clasificar pares) con la velocidad frenética de la gravedad que acelera items.
- Múltiples cubetas de reciclaje (Papel, Vidrio, Plástico, etc.) están fijas en la base inferior.
- Nodos marcados con clases específicas (ej:
'trash-paper') spawnean arriba en posiciones X aleatorias. - Los objetos ganan Y interpolada en bucle hasta que tocan un borde inferior.
- El jugador pincha un ítem y usa
drag APIllevándolo a una papelera de reciclaje y saltándose el proceso gravitatorio.
3. Lógica de Programación
Las iteraciones del Engine deben chequear si un objeto basura está siendo 'sostenido' (dragging) para detener momentáneamente sus cálculos vectoriales de fuerza de gravedad.
El sistema de Validación (Mappings)
Utiliza colecciones de strings simples para empatarlas o usar diccionarios Map object.
Gravedad
Definida en this.fallSpeed escalable basado en el nivel actual. item.y += this.fallSpeed corre infinitamente hasta despawnear visualmente al sobrepasar 100% de altura del Parent.
4. Sistema de Victoria/Derrota
Victoria: Clasificar con acierto una cantidad estipulada de ítems marcados por this.targetTrash dentro del límite de tiempo.
Derrota: Cada ítem suelto equivocadamente (Drop en un cubo de otro color) se marca de rojo, desaparece y el juego resta un fallo permitido oculto. También penaliza el tiempo global general o desencadena derrota automática según el nivel.
5. Consideraciones de Rendimiento
Todos los intervalos y eventos asociados al drag and drop de objetos generados asíncronamente deben destruirse usando element.remove() en el proceso rutinario de Garbage Collection cleanup() predeterminado del BaseGame para evitar memory leaks.
