这是一个比较常见的DFS迷宫问题变体
你可以参考这篇文章https://blog.csdn.net/xuechanba/article/details/120742524
你在设计迷宫的时候可以多设计一个地雷类别,将maze二维数组里面多添加一个类别,如2(0表示空地,1表示障碍物,2表示地雷),在后面的判断中添加一个判断,当map[line][col]==2时重新回到起点或者直接退出。
题目要求八个方向,你需要把direct数组变成八个方位,如:
direct[0].incX = 0; direct[0].incY = 1;direct[0].incZ = 1;//右上
direct[1].incX = 0; direct[1].incY = 0;direct[1].incZ = 0;//右
direct[2].incX = 0; direct[2].incY = 1;direct[2].incZ = -1;//右下
direct[3].incX = 0; direct[3].incY = 0;direct[3].incZ = -1;//下
direct[4].incX = 1; direct[4].incY = 0;direct[4].incZ = -1;//左下
direct[5].incX = 1; direct[5].incY = 0;direct[5].incZ = 0;//左
direct[6].incX = 1; direct[6].incY = 0;direct[6].incZ = 1;//左上
direct[7].incX = 0; direct[7].incY = 0;direct[7].incZ = 1;//上
在后面行列判断那里都加上direct[di].incZ就可以了