Bonjour voici mon programme il n'est pas parfait et surement très mal fait mais je l'ai fait moi-même et c'est ce qui compte... Je voudrais faire en sorte de rajouter 1 a e seulement lorsque la lettre n'est pas contenu dans le mot secret (Pour l'instant il est générer au hasard mais je mettrais un dictionnaire plus tard)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[])
{//int Lettre1;
//int DernLettre;
//int Nblettre;
int e=0;
int rejouer=0;
int N = 0;
int B = 0;
int MotSecret[6],resultat[6];
int MIN = 65, Max=90, reponse;
srand(time(NULL));
// Tableau 26 cases 0 ou 1 si lettre jouer
char char1 = 123;
int i=0;
for(i=0;i<6;i++){MotSecret[i] = (rand() % (Max + 1 - MIN ))+ MIN;resultat[i]=0;};
for(i=0;i<6;i++){printf("%c \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",MotSecret[i]);};
printf("Bienvenu(e) dans mon pendu !\n");
printf("-Tu as un nombre illimite de chance.\n ");
printf("-Au plus tu utilise de chance au plus ton score sera bas.\n\n");
printf("Le mot commence par %c et se termine par %c il est compose de 6 lettres \n",MotSecret[0], MotSecret[5]);
printf("Tu peux commencer a jouer :");
while(N<6){A:;
printf("\n Entre une lettre : \n");
scanf("%c", &char1);
e++;
system("CLS");
if(e>=9){printf("%c",219);};if(e>=9){printf("%c%c%c%c",219,219,219,219);};printf("\n");
if(e>=8){printf("%c",219);};if(e>=10){printf(" %c",1);};printf("\n");
if(e>=7){printf("%c",219);};if(e>=11){printf(" %c",179);};printf("\n");
if(e>=6){printf("%c",219);};if(e>=12){printf(" %c",179);};printf("\n");
if(e>=5){printf("%c",219);};if(e>=13){printf(" %c",179);};printf("\n");
if(e>=4){printf("%c",219);};if(e>=14){printf(" %c%c%c",92,179,47);};printf("\n");
if(e>=3){printf("%c",219);};if(e>=15){printf(" %c",179);};printf("\n");
if(e>=2){printf("%c",219);};if(e>=16){printf(" %c%c%c",47,0,92);};printf("\n");
if(e>=1){printf("%c",219);};if(e>=17){printf(" %c",0);};printf("\n");
if(e>=0){printf("%c",219);};if(e>=18){printf(" %c",0);};printf("\n");
if(e==17){printf("Tu as perdu !");
return 0;};
for(i=0;i<6;i++){if(char1 == MotSecret[i]){resultat[i]=1;};};
for(i=0;i<6;i++){if(resultat[i]==1){printf("%c",MotSecret[i]);}else {printf("*");};};
N = resultat[1]+resultat[2]+resultat[3]+resultat[4]+resultat[5]+resultat[0];
char1=123;
if (N==6)
{
printf("Bravo tu as trouve le mot ! Mot secret : %c%c%c%c%c%c",MotSecret[0],MotSecret[1],MotSecret[2],MotSecret[3],MotSecret[4],MotSecret[5],MotSecret[6]);
return 0;};
scanf("%c", &char1);
};
}
Pour l'instant j'ai juste mis un e++ qui rajoute 1 a chaque tour mais le pendu grandit a chaque tour ! :/
Enfin, je vais te faire part de mes remarques sur ton code :
- tu utilises time(NULL), il faut donc include time.h
- pour afficher une chaine de caractères, on utilise %s, on n'affiche pas chaque caractère
- utiliser des commandes système (cls par exemple) est une mauvaise idée : chez moi par exemple (sur ubuntu), elle ne fonctionne pas
- Même chose, l'affichage de caractères spéciaux est dangereux (moi je vois des ?). Et au lieu d'utiliser le code du caractère, utilise plutot le caractère lui même (par exemple '|' au lieu de 219 (si c'est la correspondance voulue))
- Enfin, ta fonction main devrait retourner quelque chose (par ex 0)
J'aime les bandes dessinées, manhuas, manhwas, mangas, comics... Du coup j'ai fait aralosbd.fr !
Pendu en C
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
J'aime les bandes dessinées, manhuas, manhwas, mangas, comics... Du coup j'ai fait aralosbd.fr !