diff --git a/main.cpp b/main.cpp index 4696409..053446f 100644 --- a/main.cpp +++ b/main.cpp @@ -26,7 +26,7 @@ void locateWall(struct maze& maze); void flood(struct maze* maze, struct mmstats* mmstats) { int i, j; int prevNum; - int marked[16][16]; + int marked[16][16] = { 0 }; std::queue myqueue; myqueue.push({7,7,-1}); @@ -38,6 +38,14 @@ void flood(struct maze* maze, struct mmstats* mmstats) { API::setText(7, 8, 0); API::setText(8, 7, 0); API::setText(8, 8, 0); + +/* + for (int x = 0; x < 16; x++) { + for (int y = 0; y < 16; y++) { + marked[x][y] = 0; + } + } + */ while (myqueue.size()) { i = myqueue.front().x; @@ -71,7 +79,7 @@ void flood(struct maze* maze, struct mmstats* mmstats) { void flood_start(struct maze* maze, struct mmstats* mmstats) { int i, j; int prevNum; - int marked[16][16]; + int marked[16][16] = {0}; std::queue myqueue; myqueue.push({0,0,-1}); @@ -169,7 +177,7 @@ void follow(struct maze maze, class mmstats* mms) { mms->turn(left); log("bLeft"); } - log("error en la matri"); + //log("error en la matri"); } int* nextcell(int i, int j, int dir, int ndir[2]) { @@ -304,5 +312,19 @@ int main(int argc, char* argv[]) { updatepos(&stats); //log(maze.hwalls[stats.x][stats.y]); } + for(;;) { + locateWall(&maze, &stats); + flood(&maze, &stats); + follow(maze, &stats); + if(maze.mhtn[stats.x][stats.y] == 0){ + log("Finish"); + break; + } + //log(stats.x); + //log(stats.y); + API::moveForward(); + updatepos(&stats); + //log(maze.hwalls[stats.x][stats.y]); + } return 0; }