Probar una decisión del controlador antes de agregar una política de enrutamiento
Comienza con JavaScript en las funciones init y update del juego y pulsa Start para observar la simulación. Utilice la referencia de API del juego para conocer el comportamiento exacto de evento idle y goToFloor. Un primer ejercicio es comprender cuándo un ascensor inactivo recibe su siguiente tarea. Observe ese evento y el movimiento resultante antes de agregar varias condiciones, para poder explicar qué parte del controlador emitió una solicitud.
Luego inspeccionar los destinos de los pasajeros. El movimiento por sí solo no significa que se esté atendiendo a los pasajeros. Lee el evento floor_button_pressed en la referencia y compara las solicitudes con la ruta que observas. Si varios ascensores repiten el mismo recorrido, es posible que algunas colas aún esperen. Construya a partir de un pequeño controlador que comprenda en lugar de copiar una política compleja y asumir que satisface el objetivo de pasajeros o tiempo de espera del desafío actual.
Comparar un cambio de código con el objetivo real del desafío
Antes de ejecutar la simulación, lee la condición para superar el desafío y elige un comportamiento para inspeccionar, como tiempo de inactividad, paradas repetidas o pasajeros esperando en un piso en particular. Cambie una decisión y ejecute la simulación de nuevo. Que el ascensor se mueva más no garantiza que el controlador supere el desafío. Compare las colas visibles y el resultado mostrado con el objetivo en lugar de utilizar el movimiento como única señal de éxito.
Al editar destinationQueue directamente, siga el requisito de la referencia de llamar a checkDestinationQueue para que la cola revisada entre en vigor; Las solicitudes goToFloor normales ya manejan destinos en cola. Mantenga esos enfoques distintos durante la depuración. Este centro describe una simulación de programación de navegador, no un software para un ascensor real o un sistema de seguridad de producción. No garantiza que un controlador supere todos los desafíos. Utilice la documentación API exacta dentro del juego, luego registre qué evento y cambio de ruta mejoraron la prueba particular que acaba de ejecutar.
Para un repaso concreto, observa un piso con cola mientras un ascensor queda parado. Identifique qué controlador emite la siguiente solicitud goToFloor y si esa solicitud atiende a los pasajeros que esperan o envía el automóvil a otra parte. Cambie esa opción de ruta y luego compare el resultado del desafío. Si varios manejadores compiten, simplifique el controlador hasta que pueda explicar la secuencia de solicitudes. Utilice la referencia de API para conocer los eventos admitidos exactos. Observar una cola y una decisión a la vez proporciona evidencia para una revisión sin pretender que sea un controlador óptimo universal.
Consejos y estrategia para la Elevator Saga
Marca un consejo para practicar en tu próxima partida. Esta lista no modifica el juego ni guarda tu progreso.
Preguntas y respuestas sobre el Elevator Saga
¿En qué idioma escribo?
El controlador utiliza JavaScript, con las funciones init y update en el editor del juego.
¿Esto hace funcionar un ascensor de verdad?
No. Es una simulación de programación que se ejecuta completamente dentro del juego del navegador.
¿Puedo usarlo para practicar programación?
Sí, en particular el control basado en eventos y la prueba de pequeños cambios. El juego se basa en el proyecto Elevator Saga de magwo, con licencia MIT; no es un curso de certificación.
¿Por qué esperan pasajeros aunque el ascensor se mueva?
Repetir una ruta no atiende automáticamente todas las plantas solicitadas. Gestiona floor_button_pressed y usa goToFloor para los destinos de los pasajeros. Compara las colas con el objetivo antes de añadir paradas. Si editas destinationQueue directamente, llama a checkDestinationQueue para aplicar el cambio; goToFloor ya gestiona las peticiones normales.
Controles e instrucciones completas
Controles e instrucciones completas
Jugar a Elevator Saga