Estou criando um ecossistema de mapa 16x16 (utilizei uma matriz 16x16), e preciso fazer com que os atores se movimentem no mapa. Há alguma maneira de como eu utilizar o mapa em todas as classes sem precisar criar um objeto dele e utiliza-lo em todas as demais classes? Tentei utilizar o método Abstract porem não consegui.
Classe geradora do mapa
package com.ecosistema;
public class Mapa {
private String m[][] = new String[17][17];
public Mapa() {
for(int l = 0; l < 17; l++) {
for(int c = 0; c < 17; c++) {
if(c == 0 || c == 16 || l == 0 || l == 16) {
m[l][c] = "x";
}else {
m[l][c] = " ";
}
}
}
}
public void printMapa(){
for(int k =0; k < 17; k++) {
System.out.print("\t");
for(int d = 0; d < 17; d++) {
System.out.print(m[k][d] + " ");
}
System.out.println(" ");
}
}
public String[][] getM() {
return m;
}
public void setM(String[][] m) {
this.m = m;
}
}
Classe geradora de ator
package com.ecosistema;
public class Ator extends Mapa{
private String nome;
private int energia;
public Ator(String nome, String m[][]) {
this.nome = nome;
energia = 100;
m[6][7] = "A";
}
public void Locomover(Ator a1, String m[][]) {
}
public void Alimentar() {
}
}
Classe principal
package com.ecosistema;
public class Main {
public static void main(String[] args) {
//GERANDO MAPA
Mapa m1 = new Mapa();
System.out.println("\t\t~~MAPA GERADO~~");
m1.printMapa();
//CRIANDO UM ATOR
Ator a1 = new Ator("Jose", m1.getM());
System.out.println("\n\t\t~~PRIMEIRO ATOR~~");
m1.printMapa();
}
}