PHP рекурсия, кажется, не пересекает все пути

Предполагается, что эта программа найдет все возможные пути через лабиринт и сохранит самое дальнее расстояние, которое она получила, в глобальной переменной. Вместо этого он проходит только один путь, а затем заканчивается? Я предполагаю, что я не использую рекурсию правильно или что-то в этом роде. $ draw_co2 — это массив значений 0 и 1, где 1 — это путь, а 0 — стена. Я включил вывод из точек, собранных $ GLOBALS [‘route’] поверх самого лабиринта ниже. Исходя из кода, я ожидаю, что вся основная красная ветвь будет белой?

Я использовал другое, если вместо всего прочего. Как упомянуто ниже, используйте else для изучения всех ветвей.

0

Решение

Нет проблем с рекурсией в фрагменте кода. Я думаю, что единственное, что может быть причиной этого, это $draw_co2, Я думаю, что нет пути в $draw_co2 какая рекурсия может пройти. Для тестирования я бы порекомендовал создать определенный путь в массиве $draw_co2 и передать начальные координаты в функции рекурсии. Надеюсь, поможет.

РЕДАКТИРОВАТЬ

Если вы измените все свои else ifтолько if, это может пересечь все пути.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]