昨天下午到今天上午把演示程序完善了,按照今年育碧那个招聘测试的内容AI方面的,加了点在长时间没有找到路径时,跳出循环暂停一下执行系统消息,避免程序无响应,再继续搜索.
演示时有点奇怪的,发现在计算H的时候如果用的是曼哈顿方法而不是计算直线距离时,再斜线的代价上,应该比直线的高1倍,如果是用的直线方法计算H,斜线代价是直线的根号2倍.
如果用曼哈顿方法,直线代价是1,然而在斜线代价上记的是1.5的话,寻路的路线会向上面个图,如果斜线代价是2,则结果是下图.看上去下图更符合常理.当斜线和直线代价一样时就会在不必要的时候走斜线,如果斜线比直线代价小,那么走的基本上都是斜线.