Hola
Porque nunca se me sale de la funcion reciproca. Quiero que cuando encuentra la salida 's' se salga .
Saludos
Porque nunca se me sale de la funcion reciproca. Quiero que cuando encuentra la salida 's' se salga .
Código (java) [Seleccionar]
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