El problema, como te comenté antes, es que tienes declaradas dos variables mapa distitnas. Si pones int [][] antes de la variable la estás declarando, pones int [][] delante de mapa en dos sitios, así que tienes dos variables distintas con el mismo nombre mapa.
Código Java:
Ver originalpublic class Mapa {
public int [][] mapa; // Esta es una variable mapa, que está sin inicializar
public Mapa()
{
int[][] mapa = .... ; // esta es la otra variable mapa que sí inicializas.
}
Estás incializando la variable que declaras dentro del constructor, así que terminado el constructor, pierdes la variable, ya que lo que declaras dentro de un método (constructor) se pierde al salir de él, es una variable local al método. Si accedes a mapa fuera del constructor, estás accediendo a la otra variable mapa, la que no has inicializado y que es un atributo de la clase (la has declarado fuera de los métodos) y está accesible y sin inicializar en todos los demás sitios.
Tienes que NO declarar la variable por segunda vez, pare ello, simplemente quita el int [][]
Código Java:
Ver originalpublic class Mapa {
public int [][] mapa; // Esta es una variable mapa, que está sin inicializar
public Mapa()
{
mapa = new .... ; // Aquí la inicializamos, porque NO la estamos declarando de nuevas.
}
Se bueno.