Вся подборка по рогаликам Предыдущая часть: Прошлая часть называлась "Коридоры", а эта "Дороги", знаете почему? Потому что Dorogue :) В общем, алгоритм для построения коридоров, намеченный в прошлой части, я задвинул пока в пыльный угол, так как у него есть неприятные затыки, с которыми нет особого желания разбираться. Немного поразмыслив, решил делать похожий, но без недостатков. Он будет саморегулироваться, исключая тупиковые случаи. Описание алгоритма Дорога строится от стенки до стенки. В этой статье я строю её всегда от верхней до нижней стенки. Это не ограничение, просто сокращается количество кода и объяснений. Возьмём карту местности: Чёрные клетки – начальная часть дороги (выбирается случайным образом на верхней стенке). Серые клетки – свободное пространство. Красные клетки – свободное, но запрещённое для строительства пространство. Карта сразу огорожена ими, так как коридор не должен проходить вплотную к какой-либо стенке (выглядит неэстетично). Далее делается шаг: мы смотри