寻路代码本来准备用a星的,但是没时间写了。现在只能算是深度遍历
要改成a星其实也很简单
在a星数寻路函里面,下面加上最短路径的计算
两点之间直线最短,把上下左右四个方向的直线距离都算出来,比如右边的直线距离=(终点y-起点y)*(终点y-起点y)+(终点x-(起点x-1))*(终点x-(起点x-1)),然求平方根
先排序,用最短的方向走一遍,比如是右下上,左,就先diao用右a星寻路(x-1,y),如果不能走就调用下a星寻路(x,y+1),这样就能少走很多没用的路
最后在生成最终路径,最终路径生成我写在了自动过图里面
游戏操作:
键盘上下左右控制人物(紫色方块)移动,白色的是路,黑色是墙壁,红色是终点,路线为最优路径
右下角是指南针,不管你在任何地方都可以指向终点。
下一篇 图片旋转与翻转的工具例程