Estoy haciendo un laberinto en java con backtracking o busqueda con retroceso para la asignatura de programacion de ingeniero informatico y el compilador me dice que no sabe donde esta la variable laberinto y no se ocmo pasarsela
Aqui el codigo, espero me ayudeis. gracias PD: el ultimo dia es hoy para la entrega, asi que daos prisa, por favor...
import java.io.*;
public class ejercicio47
{
public boolean buscando (int a, int b, int n)
{
boolean salida5=false;
if ((a<0) || (b<0) || (a>(n-1)) || (b>(n-1)))
{
salida5 = false;
}
else
{
if (laberinto[a][b] != 0)
{
if (laberinto[a][b] != 5)
{
salida5 = false;
}
}
else
{
laberinto[a][b] = 1;
if (laberinto[a][b] ==5)
{
salida5 = true;
}
else
{
salida5 = true;
if (!buscando(a+1, b,n))
{
if (!buscando(a, b+1,n))
{
if (!buscando(a-1, b,n))
{
if (!buscando(a,b-1,n))
{
salida5 = false;
}
}
}
}
}
int j;
int k;
for (j=0; j<n; j++)
{
for (k=0; k<n; k++)
{
System.out.print(laberinto[k][j]+" ");
}
System.out.println();
}
}
}
return salida5;
}
public static void main (String[]args) throws IOException
{
//Entrada del tamaño del laberinto
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Introduce el tamaño del laberinto: ");
String en = in.readLine();
int n = Integer.parseInt(en);
//Definiciones varias
int obsx=0;
int obsy=0;
int salx=0;
int saly=0;
int i;
int a = 0;
int b = 0;
int laberinto [][];
laberinto = new int [n][n];
for (i=0; i<((n*n)-(3*n)); i++)
{
obsx = (int) (((Math.random())*10)%n);
obsy = (int) (((Math.random())*10)%n);
if (obsx+obsy==0)
{
obsx=(int)(n-(Math.random()*10)%(n-1));
obsy=(int)(n-(Math.random()*10)%(n-1));
}
laberinto[obsx][obsy]=8;
}
//Salida aleatoria al borde del tablero (no vale laberinto [0][0])
while (salx+saly==0)
{
salx = (int) (((Math.random())*10)%n);
saly = (int) (((Math.random())*10)%n);
if (salx !=0)
{
if (salx !=n) if (salx !=n)
{
if (saly !=0)
{
if(saly !=n)
{
salx=0;
saly=0;
}
}
}
}
}
laberinto[salx][saly]=5;
int j;
int k;
for (j=0; j<n; j++)
{
for (k=0; k<n; k++)
{
System.out.print(laberinto[k][j]+" ");
}
System.out.println();
}
//buscar solucion
ejercicio47 busqueda = new ejercicio47 ();
boolean salida = busqueda.buscando(a,b,n);
}
}