BatalhaNaval GUI

Só em casa, o pc do trabalho é todo bloqueado.

1 curtida

Segue link do repositório:

https://bitbucket.org/ighorsantiago/batalhanaval/src/master/

O “Jogo1.java” foi só pra não perder o que eu tinha feito, acabei subindo junto sem querer.

percebi que o computador pode “colocar” um naviu em cima do outro

Não pode, tem um método de verificação.
Ele verifica se o navio cabe na posição escolhida (sorteada, no caso do computador) e se já tem algum navio em algum dos quadrados que o navio vai ocupar.

sim, tava na versão antiga ainda, desculpa

eu arrumei

	public void atiraPlayer(Botao btn) {
	player = TelaPrincipal.getPlayer();
	if(btn.getEstado() == Estado.AGUA) {

		btn.setEstado(Estado.VAZIO);
		btn.setIcon(imagem.agua);
	}

coloquei um pegar a tela player da tela inicial e realmente funcionou, porem ele só deixa eu atirar no campo do player e tem que dar uma forma de setar isso na inicialização da classse jogo e não onde eu coloquei

O problema é no tiro do computador, o do player tava funcionando.

sim, mas o player chama o tiro do computador

Sim.
Se eu clicar em algum botão e os navios já estiverem todos posicionados, ele chama o método de tiro do player.
Após o tiro do player, ele chama o do computador.
Ai ele dá erro, dizendo que o tabuleiro tá todo null.

o que não esta indo é o tiro do player no campo do computador, com o codigo que eu coloquei ele pega o campo do player e arruma o problema da matriz

Primeiro, para de chamar o Pc pelo player, chama ele pela tela inicial e fica fazendo o set das matrizes lá, ou cria as duas matrizes no “jogo” e só la.

Posso até tentar, mas inicialmente, eu tinha criado as matrizes na TelaPrincipal, porque é onde eu crio os tabuleiros. Mas deu algum erro (não me lembro qual era) que eu consegui resolver criando as matrizes nas classes Player e Computador.

1 curtida

Deu NPE, pq eu não inicializei, depois deu StackOverflow.

1 curtida

então deixa as matrizes no player e no pc, e antes de entrar na classe jogo pega as matrizes de lá

Alguma ideia de como?
Eu tentei criando uma matriz e passando direto e depois por get/set.
Eu só não entendo porque que o player atira e o computador dá erro, não faz sentido.