Rat in a Maze Game implemented in C CODES PROJECT
Compatibility Turbo C
1: #include<conio.h>
2: #include<stdio.h>
3: #define SIZE 15
4: #include<stdlib.h>
5: void main()
6: {
7: int maze[SIZE][SIZE],mark[SIZE][SIZE],stack[SIZE][3];
8: static int
9: move[8][2]={-1,0,-1,1,0,1,1,1,1,0,1,-1,0,-1,-1,-1};
10:
11: int i,j,m,n,top,mov,g,h;
12: clrscr();
13: printf("enter size");
14: scanf("%d%d",&m,&n);
15: for(i=1;i<=m;i++)
16: {
17: for(j=1;j<=n;j++)
18: {
19: scanf("%d",&maze[i][j]);
20: }
21: }
22: for(i=0;i<=n+1;i++)
23: maze[0][i]=1;
24: for(i=0;i<=n+1;i++)
25: maze[m+1][i]=1;
26: for(i=0;i<=m+1;i++)
27: maze[i][0]=1;
28: for(i=0;i<=m+1;i++)
29: maze[i][n+1]=1;
30: for(i=1;i<=m;i++)
31: {
32: for(j=1;j<=n;j++)
33: {
34: mark[i][j]=0;
35: }
36: }
37: mark[1][1]=1;
38: stack[0][0]=1;
39: stack[0][1]=1;
40: stack[0][2]=2;
41: top=1;
42: while(top!=0)
43: {
44: i=stack[0][0];
45: j=stack[0][1];
46: mov=stack[0][2];
47: top=top-1;
48: while(mov<=7)
49: {
50: g=i+move[mov][0];
51: h=j+move[mov][1];
52:
53: if(mark[g][h]==0&&maze[g][h]==0)
54: {
55: mark[g][h]=1;
56: top++;
57: stack[top][0]=i;
58: stack[top][1]=j;
59: mov=-1;
60: i=g;j=h;
61: }
62: mov=mov+1;
63: if(g==m&&h==n)
64: {
65: printf("
66: path made by the rat is");
67: for(i=1;i<=top;i++)
68: printf("
69: %d %d",stack[i][0],stack[i][1]);
70: printf("
71: %d %d",m,n);
72: getch();
73: exit(0);
74: }
75: }
76: }
77: }
78:
79:
80:
81:
82:
Post a Comment