#include using std::cout; using std::cin; using std::endl; void printMaze(char maze[12][12],char rows,char cols); void mazeTraverse(char maze[12][12], int row, int col, char direction); int main(void) { char maze[12][12] = { {'#','#','#','#','#','#','#','#','#','#','#','#'}, {'#','.','.','.','#','.','.','.','.','.','.','#'}, {'.','.','#','.','#','.','#','#','#','#','.','#'}, {'#','#','#','.','#','.','.','.','.','#','.','#'}, {'#','.','.','.','.','#','#','#','.','#','.','.'}, {'#','#','#','#','.','#','.','#','.','#','.','#'}, {'#','.','.','#','.','#','.','#','.','#','.','#'}, {'#','#','.','#','.','#','.','#','.','#','.','#'}, {'#','.','.','.','.','.','.','.','.','#','.','#'}, {'#','#','#','#','#','#','.','#','#','#','.','#'}, {'#','.','.','.','.','.','.','#','.','.','.','#'}, {'#','#','#','#','#','#','#','#','#','#','#','#'} }; mazeTraverse(maze,2,0,'e'); return 0; } void printMaze(char maze[][12],char rows, char cols) { int i,j; for(i = 0; i>enter; direction = 'e'; mazeTraverse(maze,row,col,direction); } else if(maze[row+1][col] == '#' && maze[row][col+1] == '#' && maze[row-1][col] == '.') { maze[row][col] = '.'; row = row - 1; maze[row][col] = 'x'; cin>>enter; direction = 'n'; mazeTraverse(maze,row,col,direction); } else if(maze[row+1][col] == '#' && maze[row][col+1] == '#') { maze[row][col] = '.'; row = row - 1; maze[row][col] = 'x'; cin>>enter; direction = 'w'; mazeTraverse(maze,row,col,direction); } else if(maze[row+1][col] == '.') { maze[row][col] = '.'; row = row + 1; maze[row][col] = 'x'; cin>>enter; direction = 's'; mazeTraverse(maze,row,col,direction); } } else if(direction == 'n') { if(maze[row][col+1] == '#' && maze[row-1][col] == '.') { maze[row][col] = '.'; row = row - 1; maze[row][col] = 'x'; cin>>enter; direction = 'n'; mazeTraverse(maze,row,col,direction); } else if(maze[row][col+1] == '#' && maze[row-1][col] == '#' && maze[row][col-1] == '.') { maze[row][col] = '.'; col = col - 1; maze[row][col] = 'x'; cin>>enter; direction = 'w'; mazeTraverse(maze,row,col,direction); } else if(maze[row][col+1] == '#' && maze[row-1][col] == '#') { maze[row][col] = '.'; row = row + 1; maze[row][col] = 'x'; cin>>enter; direction = 's'; mazeTraverse(maze,row,col,direction); } else if(maze[row][col+1] == '.') { maze[row][col] = '.'; col = col +1; maze[row][col] = 'x'; cin>>enter; direction = 'e'; mazeTraverse(maze,row,col,direction); } } else if(direction == 's') { if(maze[row][col-1] == '#' && maze[row+1][col] == '.') { maze[row][col] = '.'; row = row + 1; maze[row][col] = 'x'; cin>>enter; direction = 's'; mazeTraverse(maze,row,col,direction); } else if(maze[row][col-1] == '#' && maze[row+1][col] == '#' && maze[row][col+1] == '.') { maze[row][col] = '.'; col = col + 1; maze[row][col] = 'x'; cin>>enter; direction = 'e'; mazeTraverse(maze,row,col,direction); } else if(maze[row][col-1] == '#' && maze[row+1][col] == '#') { maze[row][col] = '.'; row = row - 1; maze[row][col] = 'x'; cin>>enter; direction = 'n'; mazeTraverse(maze,row,col,direction); } else if(maze[row][col-1] == '.') { maze[row][col] = '.'; col = col - 1; maze[row][col] = 'x'; cin>>enter; direction = 'w'; mazeTraverse(maze,row,col,direction); } } else if(direction == 'w') { if(maze[row-1][col] == '#' && maze[row][col-1] == '.') { maze[row][col] = '.'; col = col - 1; maze[row][col] = 'x'; cin>>enter; direction = 'w'; mazeTraverse(maze,row,col,direction); } else if(maze[row-1][col] == '#' && maze[row][col-1] == '#' && maze[row-1][col] == '.') { maze[row][col] = '.'; col = col - 1; maze[row][col] = 'x'; cin>>enter; direction = 'n'; mazeTraverse(maze,row,col,direction); } else if(maze[row-1][col] == '#' && maze[row][col-1] == '#') { maze[row][col] = '.'; col = col + 1; maze[row][col] = 'x'; cin>>enter; direction = 'e'; mazeTraverse(maze,row,col,direction); } else if(maze[row-1][col] == '.') { maze[row][col] = '.'; row = row - 1; maze[row][col] = 'x'; cin>>enter; direction = 'n'; mazeTraverse(maze,row,col,direction); } } }