В моей игре мы видим этажи дома со стороны, и герой может делать подъемы - подъемник либо поднимается вверх (до следующего подъема вверх), либо вниз (до следующего подъема вниз), в зависимости от стрелки как показано, и всегда есть пара ровно двух связанных лифтов. Это единственный способ, которым герой может двигаться вертикально, хотя он может свободно двигаться горизонтально. Карта дома представляет собой рандомизированную сетку 11x5 с различными предметами и непроходимыми стенами слева, справа и иногда в одной из двух средних позиций:
Мой вопрос: как я могу обеспечить, чтобы карта всегда была случайной, но всегда разрешимой, и чтобы герой, начиная с левой стороны нижнего этажа, всегда мог покинуть ее с помощью любого направленного вверх лифта на верхнем этаже?
Для чего это стоит, я использую язык Lua для разработки. Спасибо!