#include #include #include "maze.h" #include int solve_maze(char* maze,int size) { int i = 0; int p, l, h, d = 0; while(i != size*size-1){ //if (i % size - 1 != 0){l = 1;} //else if (i < size*size - size){h = 1;} //else if (i % size){p = 1;} //else if (i >= size){d =1;} if (maze[i + 1] == ' ' /*&& i % size - 1 != 0 */&& l != 1) { maze[i + 1] = '*'; i++; p = 0; l = 0; h = 0; d = 0; } else if (maze[i + size] == ' ' /*&& i < (size*size - size) != 0 */&& h != 1) { maze[i + size] = '*'; i = i + size; p = 0; l = 0; h = 0; d = 0; } else if (maze[i - 1] == ' ' /*&& i % size != 0 */&& p != 1) { maze[i - 1] = '*'; i--; p = 0; l = 0; h = 0; d = 0; } else if (maze[i - size] == ' ' /*&& i >= size */&& d != 1) { maze[i - size] = '*'; i = i - size; p = 0; l = 0; h = 0; d = 0; } else{ while(1){ if (maze[i + 1] == ' ' && i != size - 1 && l != 1) { //i++; break; } if (maze[i + size] == ' ' && i != size - 1 && h != 1) { //i = i + size; break; } if (maze[i - 1] == ' ' && i != 0 && p != 1) { //i--; break; } if (maze[i - size] == ' ' && i > size && d != 1) { //i = i - size; break; } p = 0; l = 0; h = 0; d = 0; if (maze[i + 1] == '*' && i != size - 1) { maze[i] = ' '; i++; p = 1; } else if (maze[i + size] == '*' && i != size - 1) { maze[i] = ' '; i = i + size; d = 1; } else if (maze[i - 1] == '*' && i != 0) { maze[i] = ' '; i--; l = 1; } else if (maze[i - size] == '*' && i > size) { maze[i] = ' '; i = i - size; h = 1; } } } } maze[0] = '*'; return 1; }