Partage
  • Partager sur Facebook
  • Partager sur Twitter

Pendu en C

    16 février 2018 à 16:57:02

    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 ! :/



    • Partager sur Facebook
    • Partager sur Twitter
      20 février 2018 à 10:33:15

      Salut,

      Premièrement, il faudrait indenter ton code correctement : http://smiley32.com/indenter-son-code/ 

      Ensuite, je ne comprends pas bien ta question.

      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)

      • Partager sur Facebook
      • Partager sur Twitter

      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.
      • Editeur
      • Markdown