1. 寻路节点与实际绘制节点是两套节点,不太方便,考虑用一套节点或其他方法连接起来,只要改变了其中一方面,另一方面能够同时相应
2. 编个寻路的lib,在MapDraw工程中使用,以为是很方便的,但这个寻路库写的还不完善,需要不停地改写东西,尤其是改掉.h文件之后,忘了在MapDraw中同步修改,所以会导致两边.h文件不一样,出现BUG。。。刚才解决了,用了个.bat的批处理,添加到寻路的工程中,操作时编完后将.h文件同时复制到MapDraw工程中
3. 刚想到些东西,是关于2的。既然要用2这种方法进行开发的话,那更好的方法是将这两个工程放到同一个Solution下,这样就不用打开两个vs分别来回切换修改了
4. 刚在rules接口中加了两个函数,用来设置用什么算法计算h,以及设置扩展方向是8方向还是4方向。我记得以前写的时候就是遇到什么需求就直接在接口中添加,不管是否具有通用性。。。不知道这次对以后有什么深远的影响啊。。。
5. 打开,关闭列表的复用。当执行完一次寻路之后,如果下一此寻路的起点没变,终点在原终点的附近时,可以复用上一次的打开关闭列表,直接判断该终点是否在打开列表中即可,没有在,则继续扩展。
6. 路径的保存,原来不仅可以保存路径节点的位置,还可以保存下一步的方向。
7. 看老外的文章有一段是讨论对球形地图的寻路的,我觉得直接将边缘的节点的扩展连接到另一个边缘不就实现球形了。