从与区域接壤的平铺路径中去除凹面?

时间:2019-05-09 21:03:19

标签: algorithm graph lua tile concave

我正在尝试找到围绕一个平铺的,连接的区域的最短路径。

到目前为止,我已经填充了要环绕的连接区域,并创建了一条与其连接的路径(因此,路径的所有图块都直接与连接区域相邻)。我现在想做的就像是在连接的区域周围拉一条橡皮筋,并沿着它走的路。我想避免进入该地区的凹面。例如,如果我有:(。=空的空间,w =墙壁,o =路径

........
.ww...w.
.w...ww.
.ww..ww.
.wwwwww.
........

我当前的路径如下:

.oo...o.
owwo.owo
owo.owwo
owwoowwo
owwwwwwo
.oooooo.

但是我想避开中心区域,因为它会使我的路径更长,而改走路径:

.oooooo.
oww...wo
ow...wwo
oww..wwo
owwwwwwo
.oooooo.

是否有一种有效的方法来做这样的事情?谢谢。

0 个答案:

没有答案