Advertisement
Guest User

Untitled

a guest
Jun 25th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.28 KB | None | 0 0
  1. int i,j, end;
  2. FILE*fp;
  3. fp=fopen("totalmaze.txt","r+");
  4.  
  5. for(i = 0;i<120;i++){
  6. for(j=0;j<22;j++){
  7. fscanf(fp,"%d",&maze[i][j]);
  8. }
  9. }
  10.  
  11. int xstart,ystart,xend,yend,mazenumber;
  12.  
  13. printf("This program will solve array maze 1 through 6.n");
  14. printf("Which maze would you like to solve? Enter a number 1 through 6.n");
  15.  
  16. scanf("%d",&mazenumber);
  17. printf("Please enter the starting position.n");
  18. printf("row? (maze 1 = row 0, maze 2 = row 0, maze 3 = row 0, maze 4 = row 0, maze 5 = row 0, maze 6 = row 2 )n");
  19.  
  20. scanf("%d",&xstart);
  21. printf("column? (maze 1 = column 9, maze 2 = column 9, maze 3 = column 2, maze 4 = column 2, maze 5 = column 2, maze 6 = column 0 )n");
  22.  
  23. scanf("%d",&ystart);
  24. printf("Please enter the ending position.n");
  25. printf("row? (maze 1 = row 19, maze 2 = row 15, maze 3 = row 7, maze 4 = row 7, maze 5 = row 19, maze 6 = row 19)n");
  26.  
  27. scanf("%d",&xend);
  28. printf("column? (maze 1 = column 12, maze 2 = column 21, maze 3 = column 21, maze 4 = column 21, maze 5 = column 16, maze 6 = column 16)n");
  29.  
  30. scanf("%d",&yend);
  31. printf("nn");
  32.  
  33. int x =0;
  34. if(mazenumber==1){
  35. i =0;
  36. end = 19;
  37. }
  38.  
  39. if(mazenumber==2){
  40. i = 20;
  41. end = 39;
  42. }
  43.  
  44. if(mazenumber==3){
  45. i = 40;
  46. end = 59;
  47. }
  48.  
  49. if(mazenumber==4){
  50. i = 60;
  51. end = 79;
  52. }
  53.  
  54. if(mazenumber==5){
  55. i = 80;
  56. end = 99;
  57. }
  58.  
  59. if(mazenumber==6){
  60. i = 100;
  61. end = 119;
  62. }
  63.  
  64. for(i; i <= end; i++)
  65. {
  66. for(j=0; j < 22; j++)
  67. {
  68. solution[x][j] = maze[i][j];
  69. }
  70. x++;
  71. }
  72.  
  73. int a,b;
  74. for(a = 0; a < 20; a++)
  75. {
  76. for(b = 0; b < 22; b++)
  77. {
  78. printf("%d ", solution[a][b]);
  79. }
  80. printf("n");
  81. }
  82.  
  83. if (solvemaze(xstart, ystart, xend, yend))
  84. printsolution();
  85. else
  86. printf("No solution was found. Mario has died.n");
  87.  
  88. return 0;
  89.  
  90. int xpos = xstart;
  91. int ypos = ystart;
  92. int prevX;
  93. int prevY;
  94. int tempX = xpos;
  95. int tempY = ypos;
  96.  
  97. solution[xpos][ypos] = 1;
  98.  
  99. while((xpos != xend) && (ypos != yend))
  100. {
  101. //down
  102. if((maze[tempX++][ypos]!=5) && (tempX != r))
  103. {
  104. solution[tempX][ypos] = 1;
  105. prevX = xpos;
  106. prevY = ypos;
  107. xpos++;
  108. printsolution();
  109. printf("nn");
  110. printf("nn");
  111. tempX = xpos;
  112. tempY = ypos;
  113. continue;
  114. }
  115. //right
  116. else if((maze[xpos][tempY++]!=5)&& (tempY != c))
  117. {
  118. solution[xpos][tempY]=1;
  119. prevX = xpos;
  120. prevY = ypos;
  121. ypos++;
  122. printsolution();
  123. printf("nn");
  124. printf("nn");
  125. tempX = xpos;
  126. tempY = ypos;
  127. continue;
  128. }
  129. //left
  130. else if((maze[xpos][tempY--]!=5) && (tempY != -1))
  131. {
  132. solution[xpos][tempY]=1;
  133. prevX = xpos;
  134. prevY = ypos;
  135. ypos--;
  136. printsolution();
  137. printf("nn");
  138. printf("nn");
  139. tempX = xpos;
  140. tempY = ypos;
  141. continue;
  142. }
  143. //up
  144. else if((maze[tempX--][ypos]!=5) && (tempX != -1))
  145. {
  146. solution[tempX][ypos]=1;
  147. prevX = xpos;
  148. prevY = ypos;
  149. xpos--;
  150. printsolution();
  151. tempX = xpos;
  152. tempY = ypos;
  153. printf("nn");
  154. printf("nn");
  155. continue;
  156. }
  157. else
  158. {
  159. solution[xpos][ypos] = 5;
  160. xpos = prevX;
  161. ypos = prevY;
  162. }
  163. }
  164.  
  165. if((xpos == xend) && (ypos == yend))
  166. {
  167. printf("Mario had been rescued!n");
  168. return 1;
  169. }
  170. else
  171. return 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement