Código:
//MARCA = '*'El laberinto esta formado por espacios(32) y #, la meta es @(64) i=x1; j=y1; listo=FALSE; do { if(i==x2 && j==y2) listo=TRUE; if(i!=x2 && j!=y2) lab[i][j]=MARCA; if(listo==FALSE &&(lab[i][j+1]==32||lab[i][j+1]==64)) //Mov a derecha { j=j+1; if(i==x2 && j==y2) listo=TRUE; else { lab[i][j]=MARCA; } } if(listo==FALSE &&(lab[i+1][j]==32||lab[i+1][j]==64)) //Mov a abajo { i=i+1; if(i==x2 && j==y2) listo=TRUE; else { lab[i][j]=MARCA; } } if(listo==FALSE &&(lab[i][j-1]==32||lab[i][j-1]==64)) //Mov izquierda { j=j-1; if(i==x2 && j==y2) listo=TRUE; else { lab[i][j]=MARCA; } } if(listo==FALSE &&(lab[i-1][j]==32||lab[i-1][j]==64)) //Mov arriba { i=i-1; if(i==x2 && j==y2) listo=TRUE; else { lab[i][j]=MARCA;//marco la posicion con * } } }while(listo!=TRUE);