On va créer une fonction compteur_bille ; c’est elle
qui va demander à chaque joueur combien de billes il veut retirer, vérifier que
ce nombre est bien compris entre 1 et 5 et n’est pas supérieur ou égal au
nombre de billes restant dans le sac.
La fonction principale quant à elle gérera quel est le
joueur en cours et indiquera à chaque joueur le nombre de billes restant dans
le sac.
Correction
#include
<stream.h>
//Fonction compteur de billes : c'est elle qui effectue les
calculs du nombre billes dans le sac
//et demande la saisie du nombre de billes que veut retirer
le joueur en cours
int comptbille (int nbbilles)
{
int n;
cout<<"Combien de billes voulez vous enlever? ";
cin>>n;
//teste si le nombre
de bille que le joueur veut enlever est bien compris entre 1 et 5,
//ou teste si le
joueur ne veut pas enlever plus de billes qu'il n'en reste dans le sac
//(c'est à dire
enlever la dernière bille)
while (n>5||n<1||n>=nbbilles)
{
if (n>5||n<1)
{
cout<<"Vous ne pouvez enlever que
de 1 à 5 billes."<<endl<<"Combien de billes voulez vous
enlever? ";
cin>>n;
}
if (n>=nbbilles)
{
cout<<"il ne reste que
"<<nbbilles<<" billes dans le
sac."<<endl<<" Vous ne pouvez donc enlever que
"<<nbbilles-1<<" billes au maximum."<<endl<<"Combien
de billes voulez vous enlever? ";
cin>>n;
}
}
nbbilles=nbbilles-n;
return(nbbilles);
}
//fonction principale : qui gère quel est le joueur en cours
et indique qui est le gagnant
void main()
{
int billes;
billes=20;
while (billes!=1)
{
cout<<"Joueur
1"<<endl;
cout<<"il reste "<<billes<<" billes
dans le sac."<<endl;
billes=comptbille(billes);
if (billes==1)
cout<<"Joueur 1
vainqueur"<<endl;
else
{
cout<<"Joueur 2"<<endl;
cout<<"il reste
"<<billes<<" billes dans le sac."<<endl;
billes=comptbille(billes);
if (billes==1)
cout<<"Joueur 2
vainqueur"<<endl;
}
}
}
ConversionConversion EmoticonEmoticon
Remarque : Seul un membre de ce blog est autorisé à enregistrer un commentaire.