Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int dir = 4;
- bool visited[Max_Maze][Max_Maze][dir];
- for (row = 0; row < size; ++ row)
- {
- for (col = 0; col < size; ++ col)
- {
- for (dir = 0; dir < 4; ++ dir)
- {
- visited[row][col][dir]=false;
- }
- }
- }
- bool notSolved = true;
- int path = 0;
- row = 0;
- col = 0;
- rowStack.push(row);
- colStack.push(col);
- while (notSolved){
- //from perspective of person looking at maze on screen
- 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
- visited[row][col][0] = true; //and you have not gone in that direction yet, go up
- row--;
- rowStack.push(row);
- colStack.push(col);
- path++;
- cout << "UP" << path << endl;
- }
- else if (((col+1)<size)&&(maze[row][col + 1] == 0)&&(visited[row][col][1]==false)){//else if you can go right, go right
- visited[row][col][1] = true;
- col++;
- rowStack.push(row);
- colStack.push(col);
- path++;
- cout << "RIGHT" << path << endl;
- }
- else if (((row+1)<size)&&(maze[row + 1][col] == 0)&&(visited[row][col][2]==false)){//else if you can go down, go down
- visited[row][col][2] = true;
- row++;
- rowStack.push(row);
- colStack.push(col);
- path++;
- cout << "DOWN" << path << endl;
- }
- else if (((col-1)>0)&&(maze[row][col - 1] == 0)&&(visited[row][col][3]==false)){//else if you can go left, go left
- visited[row][col][3] = true;
- col--;
- rowStack.push(row);
- colStack.push(col);
- path++;
- cout << "LEFT" << path << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement