¿Hay algún experto en programación en C? Por favor, ayude.
#include
#define M 9
#define N 8
void ShowMaze(char m[M +2][N+3])
{ int i,j;
char fx[4][3]={ "←"," ↑","→" ,"↓" };
para ( i=0;i
}
void main()
{ int dir[4][2]={ {-1,0},{0,-1},{1,0},{0,1} },t[M*N][3];
char m[M+2][N+3]= ?{ "##########", ? "#@0100010#", "#00100010#", ?"#00001101 #", ?"#01110010#", ?"#00010000#", ?"#01000101#", ?"#01111001#", ?"#11000101#", ?"#1100000*#", ?"## ########"
};
int i,j,k,xx,yy;
int x,y,d, f,bÉxito,n;
bÉxito=0; n=0;
ShowMaze(m);
for ( i=0;i
f=0; d--; si ( d<0 ) d=3; ][1]=x; t[n][2]=d; x=xx; y=yy;
mientras ( 1 )
{ xx=x + dir[d][0]; yy=y+dir[d][1]; si ( m[yy][xx]=='*' ) { m[y][x]=d+'a' ; f=1; bSuccess=1; romper } ?else si ( m[yy][xx]=='@' ) ?else if ( m[yy][xx]>='a' ) { d = m[aa]
[xx]-'a'; d++; d%=4; m[y][x]='0'; y=yy } ? ]=='0' ) { m[y][x]=d+'a'; d--; si ( d<0 ) d=3; 1]=x; t[n][2]=d; x=xx; y=yy n++ } ?else si (m[yy][xx]=='1' || m[yy][xx] ]=='#' ) { d++; d%=4 }
}
printf("---------------- ------\n"); if ( bSuccess )
{ ShowMaze(m); ?printf("\nRuta:\n"); ?for ( i=0;i< n ;i++ ) ?{ printf("(%d,%d,%d) ",t[i][0],t[i][1],t[i][2]); //0 en , ¿1 a la derecha, 2 abajo, 3 a la izquierda?if ( i%4==3 ) printf("\n" ?}
}
else printf("Este laberinto no acceso.\n");
}