Jogo da Velha: Humano vs Computador

0 respostas
Matheus_Emanuel

Galera estou fazendo uma trabalho da escola em que tenho que desenvolver um jogo da velha de um humano vs o computador e quero ajudar para desenvolver a IA do jogo. A IA e baseada na seguinte heurística:

Para cada posição desocupada no tabuleiro, some:

Mais 02 pontos se a posição for a central;

 Mais 01 ponto se a posição estiver nos quatro cantos da matriz;

 Menos 02 pontos, se  houver uma ou mais peças do adversário na mesma linha, coluna ou diagonal onde a posição se encontra;

 Mais 04 pontos se a posição impedir a vitória do adversário;

 Mais 04 pontos se a posição levar a uma vitória;

 Ao final, a posição escolhida será aquela que tiver o maior número de pontos.

O código está aí

A variável “mac” era que eu estava tentando pegar uma variável do tipo String que é o marcador X ou O e tentando converter para inteiro, mas não está dando certo.

Eu quero saber uma forma mais fácil de fazer isso sem ser tão manual.
O meu professor falou para usar três laços do tipo for, mas não sei como usar.

static void escolherJogadaComputador(int inteligencia[][], String tabuleiro[][], int mac){

for(int i = 0; i < tabuleiro.length; i++){
		for(int m = 0; m < tabuleiro[i].length; m++){

			if(inteligencia[2][2] == 0 ){
				inteligencia[2][2] = 2;
			}

			if((inteligencia[1][1] == 0) || (inteligencia[3][1] == 0) || (inteligencia[3][3] == 0) || (inteligencia[1][3] == 0)){
				inteligencia[1][1] = 1;
				inteligencia[3][1] = 1;
				inteligencia[3][3] = 1;
				inteligencia[1][3] = 1;
			}

			if((inteligencia[1][1] == mac) || (inteligencia[1][2] == mac) || (inteligencia[1][3] == mac)|| (inteligencia[2][1] == mac) || (inteligencia[2][2] == mac))
				if((inteligencia[2][3] == mac) || (inteligencia[3][1] == mac) || (inteligencia[3][2] == mac)|| (inteligencia[3][3] == mac)){
                  inteligencia[1][1] = 4;
                  inteligencia[1][2] = 4;
				}
		}
		
		
		
	}
	
	
}
Criado 28 de agosto de 2016
Respostas 0
Participantes 1