Porque nunca se me sale de la funcion reciproca. Quiero que cuando encuentra la salida 's' se salga .
Código
import java.util.ArrayList; public static boolean recorrer (char laberinto[][], int fil, int col){ int tam = laberinto.length; //comprobar si es solucion if(laberinto[fil][col]=='s'){ return true; } //recorrido: //Derecha if(col + 1 <= tam-1 && (laberinto[fil][col+1] == '0' || laberinto[fil][col+1]=='s')){ recorrer(laberinto,fil,col+1); } //Abajo if(fil+1 <= tam-1 && (laberinto[fil+1][col] == '0' || laberinto[fil+1][col]=='s')){ recorrer(laberinto,fil+1,col); } //Arrriba if(fil-1 >= 0 && (laberinto[fil-1][col] == '0' || laberinto[fil-1][col]=='s')){ recorrer(laberinto,fil-1,col); } //Izquierda if(col-1 >=0 && (laberinto[fil][col-1] == '0' || laberinto[fil][col-1]=='s')){ recorrer(laberinto,fil,col-1); } return false; } }
Saludos