Advertisement
Guest User

Untitled

a guest
Nov 30th, 2011
271
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.06 KB | None | 0 0
  1. while (notSolved){
  2.  
  3.         //from perspective of person looking at maze on screen
  4.         if (((row-1)>0)&&(maze[row - 1][col] == 0)&&(visited[row][col][0]==false)){//if that space is not out of bounds and if you can go up
  5.         visited[row][col][0] = true;                                               //and you have not gone in that direction yet, go up
  6.         row--;
  7.         rowStack.push(row);
  8.         colStack.push(col);
  9.         path++;
  10.         cout << "UP" << path << endl;
  11.         }
  12.         else if (((col+1)<size)&&(maze[row][col + 1] == 0)&&(visited[row][col][1]==false)){//else if you can go right, go right
  13.         visited[row][col][1] = true;
  14.         col++;
  15.         rowStack.push(row);
  16.         colStack.push(col);
  17.         path++;
  18.         cout << "RIGHT" << path << endl;
  19.         }
  20.         else if (((row+1)<size)&&(maze[row + 1][col] == 0)&&(visited[row][col][2]==false)){//else if you can go down, go down
  21.         visited[row][col][2] = true;
  22.         row++;
  23.         rowStack.push(row);
  24.         colStack.push(col);
  25.         path++;
  26.         cout << "DOWN" << path << endl;
  27.         }
  28.         else if (((col-1)>0)&&(maze[row][col - 1] == 0)&&(visited[row][col][3]==false)){//else if you can go left, go left
  29.         visited[row][col][3] = true;
  30.         col--;
  31.         rowStack.push(row);
  32.         colStack.push(col);
  33.         path++;
  34.         cout << "LEFT" << path << endl;
  35.         }
  36.         else{//if stuck
  37.         //cout << "Q"<<row << " " << col << endl;
  38.         rowStack.pop();
  39.         colStack.pop();
  40.         row = rowStack.top();
  41.         col = colStack.top();
  42.         //cout <<"A"<<row << " "<< col << endl;
  43.         }
  44.  
  45.             if((maze[row][col] == 0) && (row == (size - 1))){//if we reached an exit
  46.                 cout << "Solution Path:" << endl;
  47.                 for (int i = 0; i < path; i++){
  48.                     cout << "row:" << rowStack.top() << " col:" << colStack.top() << endl;
  49.                     rowStack.pop();
  50.                     colStack.pop();
  51.                 }
  52.             notSolved = false;
  53.             }
  54.         }
  55.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement