80
Recherche avec menaces
}
if (ordre > 0)
coupsVoisinsBalle (joueur , liste );
if (ordre != !) {
Coup coup ;
}
coup . 1. push_back (balle );
damier [balle .X] [balle .y] = '+';
gagne = coupsBalle (joueur , coup , liste );
damier [balle .X] [balle .y] = '@' ;
return gagne ;
bool elementCoup (Coup & coup , list & liste ) {
for (list:: iterator it = Iiste . begin ();
i t ! = 1 i s te . end () ; ++ i t )
i f ( c 0 u p == * i t )
return true ;
return false ;
}
bool aj outeCoup (Coup & coup , list & liste ) {
if (!elementCoup (coup , liste )) {
liste .push_back (coup );
return true ;
}
return false ;
}
bool elementlntersection (In tersection & inter ,
}
list & liste ) {
for ( list: : iterator it = liste . begin ();
i t ! = 1 i s te . end () ; ++ i t )
i f ( i n t e r == * i t )
return true ;
return false ;
bool aj outelntersection (Intersection & inter ,
}
list & liste ) {
if (! elementlntersection (inter , liste )) {
Iiste . push_back (inter );
return true ;
}
return false ;
void intersectionsBalle (Intersection interB alle ,
Recherche avec menaces
}
if (ordre > 0)
coupsVoisinsBalle (joueur , liste );
if (ordre != !) {
Coup coup ;
}
coup . 1. push_back (balle );
damier [balle .X] [balle .y] = '+';
gagne = coupsBalle (joueur , coup , liste );
damier [balle .X] [balle .y] = '@' ;
return gagne ;
bool elementCoup (Coup & coup , list
for (list
i t ! = 1 i s te . end () ; ++ i t )
i f ( c 0 u p == * i t )
return true ;
return false ;
}
bool aj outeCoup (Coup & coup , list
if (!elementCoup (coup , liste )) {
liste .push_back (coup );
return true ;
}
return false ;
}
bool elementlntersection (In tersection & inter ,
}
list
for ( list
i t ! = 1 i s te . end () ; ++ i t )
i f ( i n t e r == * i t )
return true ;
return false ;
bool aj outelntersection (Intersection & inter ,
}
list
if (! elementlntersection (inter , liste )) {
Iiste . push_back (inter );
return true ;
}
return false ;
void intersectionsBalle (Intersection interB alle ,
