2.14 Corrigés des exercices
} ;
}
nbNoirs --;
el se
nbBlancs --;
int evaluation (char couleur ) const {
if (couleur == '@' )
}
return nbNoirs - nbBlancs ;
return nbBlancs - nbNoirs ;
int evaluationSiPlusDeCoupsPossibles (char couleur ) {
if (couleur == '@' )
}
return nbNoirs - (Taille * Taille - nbNoirs );
el se
return nbBlancs - (Taille * Taille - nbBlancs );
bool coupLegal (Coup & coup ) {
}
if (damier [coup .x] [coup .y] != '+')
return fa lse ;
fo r ( i n t x = max ( coup . x - 1 , 0 ) ;
x <= min (coup .x + 1, Taille
l); x++)
fo r ( i n t y = max ( coup . y - 1 , 0 ) ;
y< = min (coup.y + 1, Taille - 1); y++)
if ( damier [ x ] [ y ] == coup . cou 1 eu r )
return true ;
return fa lse ;
list coupsLegaux
list liste ;
(char couleur ) {
}
Coup coup ;
coup . couleur
fo r (int i =
fo r ( int
= couleur ;
O; i < Taille ; i++)
= 0; j < Tai 11 e ; j ++) {
coup .x = i;
coup .y = j;
}
if (coupLegal (coup ))
liste .push_back (coup );
return liste ;
friend ostream & operator << ( ostream & sortie
const Virus & v);
29
} ;
}
nbNoirs --;
el se
nbBlancs --;
int evaluation (char couleur ) const {
if (couleur == '@' )
}
return nbNoirs - nbBlancs ;
return nbBlancs - nbNoirs ;
int evaluationSiPlusDeCoupsPossibles (char couleur ) {
if (couleur == '@' )
}
return nbNoirs - (Taille * Taille - nbNoirs );
el se
return nbBlancs - (Taille * Taille - nbBlancs );
bool coupLegal (Coup & coup ) {
}
if (damier [coup .x] [coup .y] != '+')
return fa lse ;
fo r ( i n t x = max ( coup . x - 1 , 0 ) ;
x <= min (coup .x + 1, Taille
l); x++)
fo r ( i n t y = max ( coup . y - 1 , 0 ) ;
y< = min (coup.y + 1, Taille - 1); y++)
if ( damier [ x ] [ y ] == coup . cou 1 eu r )
return true ;
return fa lse ;
list
list
(char couleur ) {
}
Coup coup ;
coup . couleur
fo r (int i =
fo r ( int
= couleur ;
O; i < Taille ; i++)
= 0; j < Tai 11 e ; j ++) {
coup .x = i;
coup .y = j;
}
if (coupLegal (coup ))
liste .push_back (coup );
return liste ;
friend ostream & operator << ( ostream & sortie
const Virus & v);
29
