matteokunJ'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" <<aj.LireJ2()<< " veuillez entrer une lettre:";
cin>> 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