【发布时间】:2012-02-18 10:52:04
【问题描述】:
我想知道我是否可以稍微优化一下我的寻路代码,让我们看看这张地图:
+ - wall, . - free, S - start, F - finish
.S.............
...............
..........+++..
..........+F+..
..........+++..
...............
人类会看着它并说它不可能,因为终点被包围了......但是A-star必须检查所有领域以确定,没有可能的道路。好吧,小地图不是问题。但是当我有 256x265 的地图时,检查所有点需要很长时间。我认为我可以在终点附近有封闭节点时停止搜索,我的意思是:
+ - wall, . - free, S - start, F - finish, X - closed node
.S.............
.........XXXXX.
.........X+++X.
.........X+F+X.
.........X+++X.
.........XXXXX.
我想在这种情况下完成(没有完成“房间”的入口)。我想检查一下,虽然没有一个开放节点越来越近,然后完成......但我不确定它是否可以,也许有更好的方法?
感谢任何回复。
【问题讨论】:
标签: c++ path-finding a-star