Reference no: EM13165733
the stack-based routing scheme you are to have a stack of maze locations. Place the location that Noodles
starts at in the stack. And then do the following:
1. Pop the next location.
2. Push all locations next to the location you just Pop which are empty spaces (blanks) that have never
before been Pushed. Remember that Noodles can only travel north, south, east or west, so diagonal
spaces are not considered next to each other. As you Push these spaces, check to see if any of them hold
the cheese. If none of them do, go back to step 1.
3. Clearly you have found a route from Noodles to the cheese, but exactly what that route may not be clear
to poor Noodles (or yourself!) So you need to figure out what route Noodles should take. Your route
should not backtrack onto itself. That is, it should not require Noodles visiting the same square twice.
e) Create a stack of rooms;
f) Make the start cell position the mouse position;
g) Mark the current position "Visited"
h) Start Timer
i) While the current cell position is not the goal position
i) Find an open adjacent cell neighboring the current cell position (one
cell to the right, below, left, or above);
(1) If there are multiple ways to go Mark as an intersection point
ii) If an open neighbor cell was found
(1) Push the current position onto the stack;
(2) Make the open neighbor cell the current position;
(3) Mark the current cell position "Visited";
iii) else
(1) do
(a) Mark the current cell position "Rejected";
(b) if the stack is empty
1. No Path Exist
(c) Pop the top of the stack into the current cell position;
(2) While stack is not empty or current does not contains an
Intersection room
j) End while
k) Push the current position (the goal) onto the stack.
l) Stop the timer
m) Print Out the Solved Maze and Time.
int stackSolution(Room maze[][MAXSIZE], int currentSize)
{
}