Способы ограничения заливки гридов Floodfill

Появилась проблема. С ограничением заливки. Подскажите как реализовать способ ограничения распространения заливки .

Мне нужно что бы заполнялось только поле которое создаёт игрок.

Поле игры.

У меня есть поле и игрок "G" игрок двигаясь по полю создаёт путь из "Er зелёных "объектов(путь отмечен красной стрелкой).В последствии это поле заливается "Er синими" объектами.

А алгоритм заливки .Игнорирует поля так как проверяется для каждого объекта в массиве путь.И проверяется с лева на право .


введите сюда описание изображения


То есть рекурсивный поиск и заливка линейная floodfill. Крестиком отмечен объект "стоп" . А если ограничиваю распространение координаторами массива то поле просто не заполняется.

Есть идея переделать алгоритм заполнения на нелинейный а всесторонний ( то есть каждый грид будет проверять соседей с четырёх сторон.)Но столкнулся с проблемой при ограждении поля для заливки , первый грид с которого стартует проверка ,для всех остальных ,нужно поместить в центр поля которое нужно залить.


Ответы (0 шт):