Code:
//Ahhhhhhh HELP
void move(int maze[ARSIZ][ARSIZ], int x, int y, int tf){
char check[5];
printf("%d,%d\t\n",x,y);
if(x != (ARSIZ-1) || y != (ARSIZ-1)){
//right0
if(tf == 0){
//printf("I'm in 1\n");
//move(maze,x+1,y,0);
//move(maze,x-1,y,1);
//move(maze,x,y-1,2);
//move(maze,x,y+1,3);
neighbors(maze,check,x,y);
if(check[3] == '1'){
move(maze,x,y+1,3);
}else if(check[0] == '1'){
move(maze,x+1,y,0);
}else if(check[2] == '1'){
move(maze,x,y-1,2);
}else if(check[1] == '1'){
move(maze,x-1,y,1);
}
}
//left1
else if(tf == 1){
//printf("I'm in 0\n");
neighbors(maze,check,x,y);
if(check[2] == '1'){
move(maze,x,y-1,2);
}else if(check[1] == '1'){
move(maze,x-1,y,1);
}else if(check[3] == '1'){
move(maze,x,y+1,3);
}else if(check[0] == '1'){
move(maze,x+1,y,0);
}
}
//up2
else if(tf == 2){
//printf("I'm in 2\n");
neighbors(maze,check,x,y);
if(check[1] == '1'){
move(maze,x-1,y,1);
}else if(check[2] == '1'){
move(maze,x,y-1,2);
}else if(check[0] == '1'){
move(maze,x+1,y,0);
}else if(check[3] == '1'){
move(maze,x,y+1,3);
}
}
//down 3
else if(tf == 3){
neighbors(maze,check,x,y);
if(check[0] == '1'){
move(maze,x+1,y,0);
}else if(check[3] == '1'){
move(maze,x,y+1,3);
}else if(check[1] == '1'){
move(maze,x-1,y,0);
}else if(check[2] == '1'){
move(maze,x,y-1,2);
}
}
}
}