Probleme de boucle!!!

Signaler
Messages postés
3
Date d'inscription
mercredi 5 mars 2003
Statut
Membre
Dernière intervention
30 mars 2003
-
Messages postés
518
Date d'inscription
dimanche 2 décembre 2001
Statut
Membre
Dernière intervention
10 novembre 2007
-
matteokun
J'essai de faire un jeu du pendu.
Mais j'ai un probleme dans ma boucle do, while celle ci ne fait pas la difference entre les lettres justes et les lettres fausses, entrer par le joueur.

Si quelqu'un peut m'aider.... merci!


void Partie::ProposerLettre()
{
int Partie = 0;
int Action = 0;
int FinJeu = 0;
int NbCoups;
Penalite = 0;
do
{
FinJeu=0;
system("clear");
cout<< "\n" <> Lettre;//NbCoups LongueurMot-2; //NbCoups nombre de lettre cachée

for( int k=1;k != LongueurMot-2; k++)
{
if(Lettre != MotEntier[k]) //si lettre faux
{
Action=0;
}
else // sinon c'est juste
{
MotDeviner[k] = Lettre;
Action=1;
}
}
if(Action == 0) //Cas ou la lettre est erronee
{
Penalite ++;
cout<<"\n C'est faux\n";
}

if(Action == 1) //Cas ou la lettre est juste
{
cout<<"\n C'est juste";
}
//NbCoups++;
for(int l=1; l < LongueurMot-1;l++)
{
Partie=0;
if(MotEntier[l] == MotDeviner[l])
{
FinJeu++;
}
}
if(FinJeu == LongueurMot)
{
Partie=1;
}
}
while(Penalite != 12 || Partie != 1);
if(Partie == 1)
{
system("clear");
cout<<" \n! bien joué !\n";
cout<<"! Vous avez gagné !";
}
if(Penalite == 12)
{
system("clear");
cout<<" \nVous avez perdu\n";
cout<<"!!! Vous êtes pendu !!!\n";
}
system("pause"); //retour au menu principal

1 réponse

Messages postés
518
Date d'inscription
dimanche 2 décembre 2001
Statut
Membre
Dernière intervention
10 novembre 2007
3
Bon, ronan je crois ke j'ai trouvé d'ou vient ton problème.
Ca doit être kan tu fé cin >> lettre;
il faut ke tu fasses lettre = cin.get();
Si ca ne marche toujours pas c'est a cause de la touche entrée ke l'on tappe après un get()
dans kel cas tu dois faire
while((lettre = cin.get()!='\n');
Voila. Si ca ne marche toujours pas dis le moi.
Alé.
Tchao, bonne chance pour ton proj!!!!!
Bouba