Advertisement
wendy890711

迷宮191025

Oct 25th, 2019
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.61 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <iostream>
  3. using namespace std;
  4.  
  5. int maze[10][10] =
  6. { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
  7. { 1, 0, 0, 0, 0, 0, 0, 0, 1, 1 },
  8. { 1, 0, 1, 0, 1, 1, 1, 0, 1, 1 },
  9. { 1, 0, 0, 0, 1, 1, 1, 0, 1, 1 },
  10. { 1, 1, 1, 0, 1, 0, 0, 0, 1, 1 },
  11. { 1, 1, 1, 0, 1, 1, 1, 0, 1, 1 },
  12. { 1, 1, 0, 0, 0, 0, 1, 0, 1, 1 },
  13. { 1, 1, 0, 1, 1, 0, 1, 0, 1, 1 },
  14. { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
  15. { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } };
  16.  
  17. class Mouse{
  18. public:
  19. int starti, startj;
  20. int endi, endj;
  21.  
  22. void setstart(int i, int j)
  23. {
  24. starti = i, startj = j;
  25. }
  26.  
  27. void setend(int i, int j)
  28. {
  29. endi = i, endj = j;
  30. }
  31.  
  32. void go(int maze[10][10])
  33. {
  34. visit(maze, starti, startj);
  35. }
  36.  
  37. void visit(int maze[10][10], int i, int j);
  38. };
  39.  
  40. void Mouse::visit(int maze[10][10], int i, int j)
  41. {
  42.  
  43. maze[i][j] = 2;
  44. if (i == 8 && j == 8)
  45. {
  46. printf("\n 找到出口 \n");
  47. for (int n=0; n < 10; n++)
  48. {
  49. for (int m=0; m < 10; m++)
  50. {
  51. if (maze[n][m] == 0)
  52. printf(" ");
  53. else if (maze[n][m] == 1)
  54. printf("■");
  55. else
  56. printf("◆");
  57. }
  58. printf("\n");
  59. }
  60. }
  61. if (maze[i][j + 1] == 0)
  62. visit(maze, i, j + 1);
  63. if (maze[i + 1][j] == 0)
  64. visit(maze, i + 1, j);
  65. if (maze[i][ j - 1] == 0)
  66. visit(maze, i, j - 1);
  67. if (maze[i - 1][j] == 0)
  68. visit(maze, i - 1, j);
  69. maze[i][j] = 0;
  70. }
  71. void main()
  72. {
  73. printf("\n 顯示迷宮: \n");
  74. for (int i = 0; i < 10; i++)
  75. {
  76. printf("\t");
  77. for (int j = 0; j < 10;j++)
  78. if (maze[i][j] == 1)
  79. printf("■");
  80. else
  81. printf(" ");
  82. printf("\n");
  83. }
  84.  
  85. Mouse s1;
  86. s1.setstart(1,1);
  87. s1.setend(8, 8);
  88. s1.go(maze);
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement