2.14 Corrigés des exercices
}
listeCoups . sort ();
char autre = virus . adversaire (joueur );
bool VariationPrincipaleTrouvee = fa lse ;
fo r (list:: iterator it = listeCoups . begin ();
}
i t != listeCoups . end (); ++ i t) {
virus . joue (* it );
1 i s t vptemp ;
int eval ;
if ( VariationPrincipaleTrouvee) {
}
eval = -alpha be ta ( depth - 1, -alpha - 1, -alpha ,
autre , vptemp );
if (eval >a lpha)
eval = -alphabeta ( depth - 1, -beta , -alpha ,
autre , vptemp );
el se
eval = -alpha be ta ( depth - 1, -beta , -alpha , autre ,
vptemp );
if ( eval > alpha) {
}
alpha = eval ;
VariationPrincipaleTrouvee = true ;
vp = vptemp ;
vp .push_front (* it );
virus . dejoue (* it );
i f ( a 1 p h a >= b e ta ) {
}
scoreHistorique [it ->nombre ()] += 4 « (depth * 2);
return beta ;
return alpha ;
2.14.15 Heuristique du coup nul
45
int alphabeta ( int depth , int alpha , int beta , char joueur ,
lis t & vp ) {
if (clock () - clockStart > maxClock )
return O;
if ( depth == 0)
return quiescence (alpha , be ta , joueur );
char autre = virus . adversaire (joueur );
/* Coupes selectives avec coup nul */
int R = 2;
}
listeCoups . sort ();
char autre = virus . adversaire (joueur );
bool VariationPrincipaleTrouvee = fa lse ;
fo r (list
}
i t != listeCoups . end (); ++ i t) {
virus . joue (* it );
1 i s t
int eval ;
if ( VariationPrincipaleTrouvee) {
}
eval = -alpha be ta ( depth - 1, -alpha - 1, -alpha ,
autre , vptemp );
if (eval >a lpha)
eval = -alphabeta ( depth - 1, -beta , -alpha ,
autre , vptemp );
el se
eval = -alpha be ta ( depth - 1, -beta , -alpha , autre ,
vptemp );
if ( eval > alpha) {
}
alpha = eval ;
VariationPrincipaleTrouvee = true ;
vp = vptemp ;
vp .push_front (* it );
virus . dejoue (* it );
i f ( a 1 p h a >= b e ta ) {
}
scoreHistorique [it ->nombre ()] += 4 « (depth * 2);
return beta ;
return alpha ;
2.14.15 Heuristique du coup nul
45
int alphabeta ( int depth , int alpha , int beta , char joueur ,
lis t
if (clock () - clockStart > maxClock )
return O;
if ( depth == 0)
return quiescence (alpha , be ta , joueur );
char autre = virus . adversaire (joueur );
/* Coupes selectives avec coup nul */
int R = 2;
