#include #include #include #include"eyebot++.h" #include"maze_func.h" #include"maze_parameter.h" using namespace std; /*---下面是主函数---*/ int main() { explore(); //使用递归算法构建地图 const int mazesize_x = mark.size(); //获取探索结束之后的迷宫的X轴长度 const int mazesize_y = mark[0].size(); //获取探索结束之后的迷宫的Y轴长度 int copy_mark[mazesize_x][mazesize_y] = {}; //复制一份mark数组,便于后续频繁读取提升性能并初始化为0 int copy_wall[mazesize_x + 1][mazesize_y + 1] = {}; //复制一份wall数组,便于后续频繁读取提升性能并初始化为0 array_copy_wall(mazesize_x, mazesize_y, copy_mark); //复制一份mark数组,便于后续频繁读取提升性能 array_copy_wall(mazesize_x, mazesize_y, copy_wall); //复制一份wall数组,便于后续频繁读取提升性能 output_arr2D(copy_mark); //打印地图mark信息 output_arrwall(copy_wall); //打印墙壁wall信息 int map[mazesize_x][mazesize_y] = {}; //创建最短路径求解地图并初始化为0 int copy_map[mazesize_x][mazesize_y] = {}; //创建copy复制地图并初始化为0 array_negative_one(map); //将map数组初始化为-1 array_negative_one(copy_map); //将copy_map数组初始化为-1 flood(map, copy_map, copy_mark, copy_wall); //洪水填充算法 output_arr2D(map); //打印map的数组信息 const int len = map[target_x][target_y]; //迷宫的终点(人为确定) int path[len] = {}; //创建最短路径结果地图并初始化为0 build_path(target_x, target_y, len, path, copy_wall); //构建出最短路径path数组 drive_path(len, path); //移动到指定目标点 output_arrpath(path); //打印path数组信息,及小车每一步的行驶方向 }