No meu jogo, vemos o chão de uma casa de lado, e o herói pode subir; um elevador sobe (para o próximo elevador para cima) ou desce (para o próximo elevador para baixo), dependendo da seta como mostrado e sempre há exatamente um par de dois elevadores conectados. Essa é a única maneira que o herói pode se mover verticalmente, embora ele possa se mover livremente na horizontal. O mapa da casa é uma grade 11x5 aleatória com itens diferentes e paredes intransponíveis à extrema esquerda, extrema direita e, às vezes, em uma das duas posições do meio:
Minha pergunta: como garantir que o mapa seja sempre aleatório e sempre solucionável e que o herói, começando no lado esquerdo do piso inferior, possa sempre deixá-lo através de qualquer elevação apontando para cima no piso superior?
Para o que vale a pena, estou usando a linguagem Lua para desenvolvimento. Muito obrigado!