Oi pessoal, estou fazendo um jogo de batalha naval. A organização do meu código está mais ou menos a seguinte: Classe Principal, Classe Navios, Classe Menu, Classe Mapa.
A Classe Navios fornece alguns métodos para criação de navios(foi determinado 4 tipos: tamanho 2,3,4 e 5, aleatório, e manualmente)
Classe menu é a interação com o usuário(recebe os parâmetros e etc. )
E a classe mapa por enquanto cria ele e altera como for requisitado(por exemplo adicionando um navio)
Acontece que um erro maldito ocorre e eu nao consegui interpreta-lo
Exception in thread "main" java.lang.NullPointerException
at Pacote.Navios.criarNavioDois(Navios.java:76)
at Pacote.Menu.Opcoes(Menu.java:91)
at Pacote.Principal.main(Principal.java:14)
Aí estão as respectivas linhas:
public void criarNavioManualmente(int direcao, int tamanho, int x, int y) {...}
public void criarNavioAleatoriamente() {...}
// e os demais métodos seguem o mesmo padrão..
// Mas em todos eles acontece o mesmo tipo de erro, na linha Equivalente
//A seguir o método aonde acontece o erro:
public void criarNavioDois(int direcao2, int x, int y) {
switch (direcao2) {
case 1:
for (int a = 0; a < 2; a++) {
linha 76 mapNavios.mapa[x][y] = 1;
y++;
}
break;
case 2:
for (int a = 0; a < 2; a++) {
mapNavios.mapa[x][y] = 1;
x++;
}
break;
}
case 3:
int x2 = Integer.parseInt(JOptionPane.showInputDialog("Digite a linha"));
int y2 = Integer.parseInt(JOptionPane.showInputDialog("Digite a Coluna"));
int direcao2 = Integer.parseInt(JOptionPane.showInputDialog("1- Horizontal\n"
+ "2- Vertical \n"));
navios.criarNavioDois(direcao2, x2, y2);
break;
alguém pode me ajudar?