BatalhaNaval GUI

eu errei o bglh, fiz pela tela…

mas é só fazer por get

é que tipo, a informação de qual player que é esta na tela!!

Eu tentei por get mas vinha null tbm.
Vou tentar aqui de novo.

Tela:

	public static Botao[][] getPlayer() {
	      return player.getTabuleiroPlayer();
    }

Jogo:

		player = TelaPrincipal.getPlayer();

Tela2:

public void criaTabuleiro(JPanel tela, Botao [][] tabuleiro, String jogador) {
	
	for(int i = 0; i < 10; i++) {

		for(int g = 0; g < 10; g++) {

			tabuleiro[i][g] = new Botao();
			tabuleiro[i][g].setName(jogador + " " + String.valueOf(i * 10 + g));
			tabuleiro[i][g].setEstado(Estado.VAZIO);
			tabuleiro[i][g].setId(0);
			tabuleiro[i][g].setLinha(i);
			tabuleiro[i][g].setColuna(g);
			tabuleiro[i][g].setToolTipText("ID: " + String.valueOf(tabuleiro[i][g].getId()));
			tabuleiro[i][g].addMouseListener(new MouseAdapter() {
				
				@Override
				public void mouseClicked(MouseEvent e) {
					
					Botao btn = (Botao) e.getSource();
					if(player.navios <= 5) { player.posicionaPlayer(btn); }
					else{
						if (jogadorVez) {
							jogo.atiraPlayer(btn);		
							jogadorVez = false;
						}else {
							criaTabuleiro(tela, tabuleiro, "computador");
							jogadorVez = true;
						}
					};
				}
			});
			
			tela.add(tabuleiro[i][g]);
		}
	}

	if(jogador.equals("Player")) {

		player.setNome(JOptionPane.showInputDialog(null, "Digite seu nome:"));
		tela.setBorder(BorderFactory.createTitledBorder("Alm. " + player.getNome()));
	}
	else
		tela.setBorder(BorderFactory.createTitledBorder("Alm. Computador"));
}

Posso ter entendido errado, mas, na tela 2, ele não vai criar um tabuleiro toda vez que jogadorVez for falso? (ou seja, turno sim, turno não)

gaf nivel hard, sorry

	jogo.atiraPlayer(btn);		
	jogo.atiraComputador();

na vdd é só isso

public static Computador getComputador() {
	return computador;
}

Hahaha
Acontece.
Beleza, quando conseguir fazer as modificações e testar e posto aqui.

eu fui trocando um monte de coisa q eu tinha feito e q tava com erro, dps da um commit hahahha

apaguei tudo

Hahaha
Blz

1 curtida

Ai, ai, ai… Precisa ser estático?

sim

Porque precisa ser estático?
Vou fazer as alterações e o teste agora.

No caso, esse “player” teria que ser uma matriz né?

Continua dando o mesmo erro, no mesmo lugar.

desculpa esse metodo get é return player,

para que voce chame ele na classe jogo, sem ter que declarar

Fiz uma POG aqui e funcionou… rsrs
Coloquei os métodos de ‘tiro’ (atiraPlayer() e atiroComputador()) dentro da classe Player…

perfeito!!

Agora vou só fazer alguns ajustes, como tratamento de erros e melhorar a pontaria do computador.

Muito obrigado a todos pela ajuda!

1 curtida