BatalhaNaval GUI

na verdade não

um enum para obj nulo retorna sempre 0 não!?

null.getEstado == Estado.Vazio

Mas se é null, ele não deveria chamar o método getEstado(), ou deveria?

da um syso(player.tabuleiroplayer[l][c]) e veja o que retorna

retorna null.
Não entendo o porque.

seria o botão [l][c] que esta nulo, mas isso é realmente estranho…

Mas não era pra estar null. Como a linha e a coluna eu gero randomicamente, na teoria, ele tá falando que meu tabuleiro inteiro está null. Só que na hora de posicionar os navios, ele não dá erro.

1 curtida

tenta colocar um for para ver se esta realmente nulo, senão a matriz não foi criada ou sla

Eu sei que a matriz foi criada corretamente porque:
- O tabuleiro é “desenhado” na tela;
- Os navios são posicionados corretamente.

Colocar um for aonde? Pra ele tentar em todas as posições?
Coloquei agora alguns valores na mão, ele sempre retorna null.

1 curtida

um for para ver qual botão esta ou não nulo, mas bem se os testes que você fez foram todos nulos então a matriz que vocês está usando teve erro de atribuição e não de criação.

Como assim erro de atribuição?

a matriz que vocês usa nessa classe não é a matriz real utilizada no tabuleiro, por isso esta com esse erro

Então não sei.
Olhei de novo aqui, não tem nenhuma outra matriz.

desculpa, não a matriz em geral, mas seus elementos não estão no método que você esta usando…

1 curtida

coloca um syso(player.tabuleiroplayer) e posta o que ele retorna para ver o que rola

isso : player.tabuleiroplayer esta vom um botão dentro !? tente pegar o estado dele, acho que é o btn clicado

player.tabuleiroPlayer é a matriz que guarda os “botões” que formam o tabuleiro do player.
Não tem como dar player.tabuleiroPlayer.getEstado();
só player.tabuleiroPlayer[linha][coluna].getEstado();

Ao invés de ficar postando screenshots, posta o código fonte das classes.
Formata direitinho no fórum usando o botão de "Texto pré-formatado": </>
Aí fica fácil para alguém reproduzir e identificar o problema.

O problema é que são várias classes.

tenta coloar uma branch no git dnv