Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream>
- using namespace std;
- int maze[10][10] =
- { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
- { 1, 0, 0, 0, 0, 0, 0, 0, 1, 1 },
- { 1, 0, 1, 0, 1, 1, 1, 0, 1, 1 },
- { 1, 0, 0, 0, 1, 1, 1, 0, 1, 1 },
- { 1, 1, 1, 0, 1, 0, 0, 0, 1, 1 },
- { 1, 1, 1, 0, 1, 1, 1, 0, 1, 1 },
- { 1, 1, 0, 0, 0, 0, 1, 0, 1, 1 },
- { 1, 1, 0, 1, 1, 0, 1, 0, 1, 1 },
- { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
- { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } };
- class Mouse{
- public:
- int starti, startj;
- int endi, endj;
- void setstart(int i, int j)
- {
- starti = i, startj = j;
- }
- void setend(int i, int j)
- {
- endi = i, endj = j;
- }
- void go(int maze[10][10])
- {
- visit(maze, starti, startj);
- }
- void visit(int maze[10][10], int i, int j);
- };
- void Mouse::visit(int maze[10][10], int i, int j)
- {
- maze[i][j] = 2;
- if (i == 8 && j == 8)
- {
- printf("\n 找到出口 \n");
- for (int n=0; n < 10; n++)
- {
- for (int m=0; m < 10; m++)
- {
- if (maze[n][m] == 0)
- printf(" ");
- else if (maze[n][m] == 1)
- printf("■");
- else
- printf("◆");
- }
- printf("\n");
- }
- }
- if (maze[i][j + 1] == 0)
- visit(maze, i, j + 1);
- if (maze[i + 1][j] == 0)
- visit(maze, i + 1, j);
- if (maze[i][ j - 1] == 0)
- visit(maze, i, j - 1);
- if (maze[i - 1][j] == 0)
- visit(maze, i - 1, j);
- maze[i][j] = 0;
- }
- void main()
- {
- printf("\n 顯示迷宮: \n");
- for (int i = 0; i < 10; i++)
- {
- printf("\t");
- for (int j = 0; j < 10;j++)
- if (maze[i][j] == 1)
- printf("■");
- else
- printf(" ");
- printf("\n");
- }
- Mouse s1;
- s1.setstart(1,1);
- s1.setend(8, 8);
- s1.go(maze);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement