Salut voici un autre pendu fait maison

Contenu du snippet

Copier coller ......................

Source / Exemple :


#include<stdio.h>   /*Entrée et sorties des données*/
#include<stdlib.h>  /*Cette bibilothèque déclare des fonctions pour la gestion de mémoire et de charges pareilles */
#include<string.h>  /*Traitement de chaines de caractères*/
#include<conio.h>   /*Lire un caractère*/
#include<time.h>    /*Pour le choix aléatoire*/

/*Prototypes des fonctions appelées par main*/
void dessin(int n);
int verification(char pendu[],char tester[],char lettre,int length);
int gagne(char tester[],int longueur);
int scr(int score,int n);  

void main()
{
/*Déclaration des variables*/
char mots[13][10]={"clavier","souris","disque","unite","memoire","maison","cahier","fonction","chaine","variables","logique","programme","pointeur"};/*mot proposés*/
int verif,i,x,length;
int score=0 ,n,choixaleatoire;
char lettre,erreur[26];
char tester[10];
char pendu[10];
char continuer='o';
/*Traitements*/
erreur[0]='\0';
    
    printf("                    **************************\n");
    printf("                    *    BIENVENUE AU PENDU  *\n");
    printf("                    **************************\n");
	printf("\n");	
	printf("            ---------------------------------------------\n");	
	printf("            | Un jeu presente par Ons, Amira et Mohamed |\n");
	printf("            ---------------------------------------------\n");
	printf("\n");	
	
	
	printf("\nQuelle est votre niveau de difficulte (1:Facile / 2:Difficile):");
	scanf("%d",&x);
  while(continuer =='o')
{
	      srand( (unsigned)time(NULL));
	      choixaleatoire=rand()%10;
         
		strcpy(pendu,mots[choixaleatoire]); /*Copier mots dans pendu */
        length=strlen(pendu);               /*Longueur du mot "pendu"*/
     n=0;    /*Pour rendre à chaque fois le compteur des erreurs à 0 */

    for(i=0;i<length;i++)
    {
		if(x==1)
		{   tester[0]=pendu[0];
            tester[i]='*';
			tester[length-1]=pendu[i];
		}
		else
        tester[i]='*';/* Afficher les étoiles */
    }
   tester[length]='\0';
     
    while(gagne(tester,length) == 0)
    {
		printf("\n\n");

	printf("                       ~~~~~~~~~~~~~~~~~~~~~~~~\n");
    printf("    LE MOT MASQUE -->        %s    \n",tester);
	printf("                       ~~~~~~~~~~~~~~~~~~~~~~~~\n\n");
    
	       printf(" \nEntrez une lettre: \n");
           scanf("%c",&lettre);
           
		   fflush(stdin);
    
		   verif = verification(pendu,tester,lettre,length);

                 if(verif == 0)
				 {
	              	erreur[n] = lettre;
                    n=n+1;
	            	erreur[n] = '\0';
				 }
	
         
      printf("------------------------------------------------------------------\n");
      printf("Mauvaises lettres entrees : %s \nIl vous reste : %d tentatives \n",erreur,8-n);
      printf("------------------------------------------------------------------\n");
	  
	  dessin(n);
	
	if(n>7)
	{   
		printf("   DOMMAGE\nVous avez perdu...\n");
        printf("  LE MOT ETAIT --> %s  \n ",pendu);
        printf(" Merci de bien vouloir jouer a notre jeu\nAu revoir \n");
		printf(" Appuyez sur n'importe quel touche pour quitter...");
              return;

	}
    }
	score = scr(score,n) ;
    printf(" \n\n");
	printf("                      ###########################\n");
    printf("                         BRAVO VOUS AVEZ GAGNE   \n");
    printf("                      ###########################\n");
	
	printf(" \n  * LE MOT ETAIT BIEN --> %s        *",pendu);
    printf(" \n  * Vous avez fait %d erreurs       *",n);	
	printf(" \n  * Votre score est: %d             *",score);

	
	
	printf(" \n Voulez vous continuer le jeu ? (Oui:o/Non:n) ");
	scanf("%c",&continuer);
		
    getch(); /*#include<conio.h>*/
   /*getch -->lit un seul caractère au clavier et le retourne résultat sans l'écrire surl'écran et sans attendre un retour à  laligne*/
   scanf("%c",&lettre);
	
  }
}   
   

/* Definition de la fonction verification */
int verification(char pendu[],char tester[],char lettre,int length)
{ 
int j,controle=0;

    for(j=0;j<length;j++)
    {
        if(pendu[j] == lettre)
        {
        tester[j] = lettre;
        controle=1;
        }
    }
return controle;
}

/* Definition de la fonction gagne */    
int gagne(char tester[],int longueur)
{
int j=0,controle=1;
    while((controle == 1) && (j<longueur))
    {
        if(tester[j] == '*') controle=0;
        j=j+1;	
    }
return controle;
}

/* Definition de la fonction score */  
int scr(int score,int n)        
{ 	if ((n==0)||(n==1))
score=score+4;
    if((n==2)||(n==3))
score=score+3;
    if((n==4)||(n==5))
score=score+2;
    if(n==6)
score++;
return score;
}

/*fonction dessin du pendu*/
void dessin(int n)
{
      switch(n)
	  {
case 1 :
puts("-----------------");

       break;
case 2 :
puts("|");
puts("|");
puts("|");
puts("|");
puts("|");
puts("|");
puts("|");
puts("|");
puts("-----------------");
break;

case 3 :
puts("------------");
puts("|");
puts("|");
puts("|");
puts("|");
puts("|");
puts("|");
puts("|");
puts("|");
puts("-----------------");
break;

case 4 :
puts("------------            ");
puts("|          |            ");
puts("|                       ");
puts("|                       ");
puts("|                       ");
puts("|                       ");
puts("|                       ");
puts("|                       ");
puts("|                       ");
puts("-----------------       ");
break;

case 5 :
puts("------------           ");
puts("|          |           ");
puts("|         / \\         ");
puts("|        |* *|         ");
puts("|         \\ /          ");
puts("|                      ");
puts("|                      ");
puts("|                      ");
puts("|                      ");
puts("|                      ");
puts("|                      ");
puts("-----------------      ");
break;

case 6 :
puts("------------            ");
puts("|          |            ");
puts("|         / \\           ");
puts("|        |* *|          ");
puts("|         \\ /           ");
puts("|          |            ");
puts("|          |            ");
puts("|          |            ");
puts("|          |            ");
puts("|          |            ");
puts("|         / \\          ");
puts("|        /   \\         ");
puts("|       /     \\        ");
puts("-----------------       ");
break;

case 7 :
puts("------------           ");
puts("|          |           ");
puts("|         / \\         ");
puts("|        |* *|         ");
puts("|         \\ /          ");
puts("|          |           ");
puts("|          |           ");
puts("|         /|\\         ");
puts("|        / | \\        ");
puts("|          |           ");
puts("|         / \\         ");
puts("|        /   \\        ");
puts("|       /     \\       ");
puts("-----------------      ");
break;

case 8 :
puts("------------                   ");
puts("|          |                   ");
puts("|         / \\                  ");
puts("|        |* *|                  ");
puts("|         \\ /                  ");
puts("|          |                   ");
puts("|       ~~~~~~~~         T'ES  ");
puts("|          |             MORT  ");
puts("|         /|\\                 ");
puts("|        / | \\                 ");
puts("|          |                   ");
puts("|          |                   ");
puts("|         / \\                  ");
puts("|        /   \\                 ");
puts("|       /     \\                ");
puts("-----------------              ");
break;
	  }
}

Conclusion :


Au revoir

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.