Criar MAPA para A.I. basica

Olá a todos.

Bom… estou criando um “mapa” para um “joguinho” bem basico para estudar AI (inteligencia Artifical) e Lógica. O mapa eh uma matriz de objetos e queria que esse mapa fosse visivel a todos, mais que não pudesse instanciar ou criar esse mapa, igual o planeta Terra… todos nós estamos nele… andamos nele… vivemos nele… mais ninguem tem o seu planeta terra.

Ja tentei usar o Static, abstract… mais não consigo… algutem tem uma alternativa?

ex:

[code]public class Mapa{

public Objetc[][] terreno = new Object [100][100];
...

}
[/code]

[code]public class Animal implements Ai{

...

public void andar(int x,int y){
    ...
    Mapa.terreno[x][y]=this;
    ...
    }

}
[/code]

Bom isso foi um exemplo bem basico… do que eu tenho aqui…

Se alguem souber como fazer pra que eu consiga isso fico Grato. Se não sober fico grato do msm jeito.

Se entendi bem, quer que todos possam acessar o array de Object, mas não quer que mudem seu valor nem o instanciem novamente (mudando a referência). Se for isso, torne o array uma constante, como segue:

public static final Object[][] TERRENO = new Object [100][100];

Acho que algo desse gênero pode ajudar no problema.

Você compartilhará esse código com outras pessoas? Elas poderão estender este código?

Uma solução prática para que alguém não instancie novamente um objeto é simplemente fazer eles não instanciarem.

Mas se mesmo assim quiser uma solução técnica, encapsule essa matriz dentro de uma classe “Mundo”, e trate dentro dela todo o problema. Coloque o construtor dela como private, implemente o padrão Singleton.

Cuide para que além de não poderem reinstaciarem o mundo, que não possam também alterar as partes desse mundo, que somente o próprio Mundo possa fazer isto.