@Matheus_Emanuel escreveu:
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 já 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; } } } }
Mensagens: 1
Participantes: 1