PUISSANCE4 IA ALPHABETA

Signaler
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
-
Messages postés
1
Date d'inscription
dimanche 1 mai 2011
Statut
Membre
Dernière intervention
26 mai 2011
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40886-puissance4-ia-alphabeta

Messages postés
1
Date d'inscription
dimanche 1 mai 2011
Statut
Membre
Dernière intervention
26 mai 2011

Bonjour,

J'ai télécharger votre programme et je le trouve extrêmement intéressant mais j'aimerai que vous m'expliquiez une partie de votre code en notant que je ne suis pas vraiment expert en JAVa, voici la partie que je n'ai pas bien compris:

private void jouer(int x, int c){
int i;
int c2=(c==1)?1:0;
map[x][taille[x]]=c;
for (i=0;i<4;i++){
if (x-i>=0) good[c2][x-i][taille[x]]--;
if (x+i<7) good[c2][x+i][taille[x]]--;
if (taille[x]+i<6){
if (x-i>=0) good[c2][x-i][taille[x]+i]--;
if (x+i<7) good[c2][x+i][taille[x]+i]--;
good[c2][x][taille[x]+i]--;
}
if (taille[x]-i>=0){
if (x-i>=0) good[c2][x-i][taille[x]-i]--;
if (x+i<7) good[c2][x+i][taille[x]-i]--;
good[c2][x][taille[x]-i]--;
}
}
taille[x]++;
}
et aussi celle a ?

private int eval(){
int i, j;
int score=0;
int wincase=150;
int wincase2=500;
for (i=0;i<7;i++){
for (j=0;j<6;j++){
score+=good[1][i][j]-good[0][i][j];
}
}
for (i=0;i<7;i++){
for (j=taille[i];j<6;j++){
map[i][j]=1;
if (win()){
score-=wincase;
}
map[i][j]=2;
if (lose()){
score+=wincase;
}
map[i][j]=0;
}
for (j=taille[i];j<5;j++){
map[i][j]=1;
map[i][j+1]=1;
if (win()){
score-=wincase2;
}
map[i][j]=2;
map[i][j+1]=2;
if (lose()){
score+=wincase2;
}
map[i][j]=0;
map[i][j+1]=0;
}
}

return score;
}

J'espère que j'aurai une réponse de votre part.
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42