前面我们已经尝试了走迷宫,遵循的是下右上左的原则。现在我们改变寻找原则
下右左上
if(map[i][j]==0){//当前这个位置为0.说明可以走map[i][j]=2;if (findway(map,i+1,j)) {//先下return true;}else if (findway(map,i,j+1)) {//右return true;}else if (findway(map,i,j-1)) {//左return true ; }else if (findway(map,i-1,j)) {//上return true; }else{map[i][j]=3;return false;}
运行一下
1 1 1 1 1 1 1
1 0 0 0 0 0 1
1 0 0 0 0 0 1
1 0 0 0 0 0 1
1 1 1 0 0 0 1
1 0 0 0 0 0 1
1 0 0 0 0 0 1
1 1 1 1 1 1 1
====找路地图情况
====地图情况
1 1 1 1 1 1 1
1 2 0 0 0 0 1
1 2 0 0 0 0 1
1 2 2 2 0 0 1
1 1 1 2 0 0 1
1 0 0 2 0 0 1
1 0 0 2 2 2 1
1 1 1 1 1 1 1
仍得一样,那我们可以多设置几个障碍动态规划最短路径吗?
我现在在这里多设置了几个障碍
map[3][3]=1;map[4][3]=1;map[4][2]=1;map[4][1]=1;map[2][1]=1;map[3][5]=1;map[6][2]=1;
地图变成了
1 1 1 1 1 1 11 0 0 0 0 0 11 1 0 0 0 0 11 0 0 1 0 1 11 1 1 1 0 0 11 0 0 0 0 0 11 0 1 0 0 0 11 1 1 1 1 1 1
我遵循上左下右的原则走
1 1 1 1 1 1 11 2 2 0 0 0 11 1 2 2 2 0 11 3 3 1 2 1 11 1 1 1 2 0 11 0 0 0 2 0 11 0 1 0 2 2 11 1 1 1 1 1 1
还是蛮有趣的