Its 3:44am. I wrote a human-interactive version of this program.... approx. 317 lines of code, I did it the hard way, without using any fancy data structures... just nested if statements and while loops, etc.
If you need it to have "AI"... then I can put that in... it shouldn't be that difficult to do.
For example: Here is part of my MoveMouse function that takes the mouse left:
if (direction == "LEFT" || direction == "l" || direction == "L")
{
if (myMaze.mLocX == 0)
cout << "LEFT: Mouse hit boundary wall. Going back." << endl;
if (myMaze.grid[myMaze.mLocX][myMaze.mLocY-1] == "#")
cout << "LEFT: Mouse hit internal wall. Going back." << endl;
if (myMaze.grid[myMaze.mLocX][myMaze.mLocY-1] == ".")
{
myMaze.grid[myMaze.mLocX][myMaze.mLocY] = ".";
myMaze.grid[myMaze.mLocX][myMaze.mLocY-1] = "M";
myMaze.mLocY = myMaze.mLocY - 1;
cout << "LEFT: Mouse moves left." << endl;
}
if (myMaze.grid[myMaze.mLocX][myMaze.mLocY-1] == "C")
{
myMaze.grid[myMaze.mLocX][myMaze.mLocY-1] = "M";
cout << "LEFT: Mouse found cheese!" << endl;
}
}