TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Jogo Da Velha - Automatico - JAVA

Por:   •  13/4/2022  •  Trabalho acadêmico  •  3.808 Palavras (16 Páginas)  •  150 Visualizações

Página 1 de 16

class JogadorAutomatico

{

private Marca marca = null;

private Tabuleiro tabDoJogo = null;

public JogadorAutomatico (Tabuleiro tabuleiro) throws Exception

{

// inicia tabDoJogo com tab e sorteia uma marca (X ou O) para o jogador,

// iniciando marca; lanca excecao caso tab seja nulo

if (tabuleiro == null) {

throw new Exception("Tabuleiro nulo");

}

this.tabDoJogo = tabuleiro;

try {

int rand = (int)Math.random() * 2;

if (rand == 0)

this.marca = new Marca('X');

else

this.marca = new Marca('O');

//this.marca = new Marca((int)(Math.random() * 2.0) == 0 ? 'X' : 'O');

}

catch (Exception err) {

System.err.println(err);

}

}

public JogadorAutomatico (Tabuleiro tabuleiro, Marca mrc) throws Exception

{

// inicia tabDoJogo com tab e marca com mrc; lanca excecao caso tab ou mrc sejam nulos

if (tabuleiro == null) {

throw new Exception("Tabuleiro nulo");

}

this.tabDoJogo = tabuleiro;

if (mrc == null) {

throw new Exception("Marca nula");

}

this.marca = mrc;

}

public Marca getMarca ()

{

// retorna a marca do jogador

return this.marca;

}

// public void facaSuaJogada ()

// {

// // faz o jogador fazer uma jogada INTELIGENTE

// do {

// int i = (int)(Math.random() * 3.0);

// int j = (int)(Math.random() * 3.0);

// try {

// if (this.tabDoJogo.haMarcaNaPosicao(i, j)) {

// continue;

// }

// this.tabDoJogo.setMarcaNaPosicao(this.marca, i, j);

// break;

// }

// catch (Exception err) {

//

// }

// break;

// } while (true);

// }

public void facaSuaJogada ()

{

// faz o jogadorAutomatico fazer uma jogada INTELIGENTE

int[] posicao = new int[2];

posicao = getPosicaoMelhorJogada();

try {

this.tabDoJogo.setMarcaNaPosicao(this.marca, posicao[0], posicao[1]);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public int[] getPosicaoMelhorJogada (){

int contMarca = 0;

int contOutraMarca = 0;

Marca marca = null;

boolean defender = false;

int[] posicaoDefesa = new int[2];

boolean atacar = false;

int[] posicaoAtaque = new int[2];

//verifica numero de marcodores próprios e adversários na diagonal

contMarca = 0;

contOutraMarca = 0;

try {

if (this.tabDoJogo.haMarcaNaPosicao(0, 0)==true) {

marca = this.tabDoJogo.getMarcaNaPosicao(0,0);

if(marca.equals(this.getMarca())){

contMarca++;

}else{

contOutraMarca++;

}

}

if (this.tabDoJogo.haMarcaNaPosicao(1, 1)==true) {

marca = this.tabDoJogo.getMarcaNaPosicao(1,1);

...

Baixar como (para membros premium)  txt (17.6 Kb)   pdf (57 Kb)   docx (20.7 Kb)  
Continuar por mais 15 páginas »
Disponível apenas no TrabalhosGratuitos.com