En mi juego vemos los pisos de una casa desde un costado, y el héroe puede tomar ascensores: un ascensor sube (al siguiente ascensor hacia arriba) o hacia abajo (al siguiente ascensor hacia abajo), dependiendo de la flecha como se muestra, y siempre hay un par de exactamente dos ascensores conectados. Esa es la única forma en que el héroe puede moverse verticalmente, aunque puede moverse libremente horizontalmente. El mapa de la casa es una cuadrícula aleatoria de 11x5 con diferentes elementos y paredes que no se pueden pasar a la izquierda, a la derecha y, a veces, en una de las dos posiciones centrales:
Mi pregunta: ¿cómo puedo asegurarme de que el mapa esté siempre aleatorizado pero siempre solucionable y que el héroe, comenzando en el lado izquierdo del piso inferior, siempre pueda dejarlo a través de un elevador que apunta hacia arriba en el piso superior?
Por lo que vale, estoy usando el lenguaje Lua para el desarrollo. ¡Muchas gracias!