forked from menault/TD3_DEV51_Qualite_Algo
		
	First commit - Pendu
This commit is contained in:
		
							
								
								
									
										73
									
								
								pendu.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								pendu.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,73 @@ | |||||||
|  | #include <stdio.h> | ||||||
|  | #include <stdlib.h> | ||||||
|  | #include <string.h> | ||||||
|  | #include <time.h> | ||||||
|  |  | ||||||
|  | #define MAX_WORDS 5 | ||||||
|  | #define MAX_TRIES 6 | ||||||
|  |  | ||||||
|  | const char *words[MAX_WORDS] = { | ||||||
|  |     "programmation", | ||||||
|  |     "ordinateur", | ||||||
|  |     "langage", | ||||||
|  |     "jeu", | ||||||
|  |     "algorithmique" | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | void display_hangman(int tries) { | ||||||
|  |     switch (tries) { | ||||||
|  |         case 0: printf("  ----\n  |  |\n  |\n  |\n  |\n  |\n--------\n"); break; | ||||||
|  |         case 1: printf("  ----\n  |  |\n  |  O\n  |\n  |\n  |\n--------\n"); break; | ||||||
|  |         case 2: printf("  ----\n  |  |\n  |  O\n  |  |\n  |\n  |\n--------\n"); break; | ||||||
|  |         case 3: printf("  ----\n  |  |\n  |  O\n  | /|\n  |\n  |\n--------\n"); break; | ||||||
|  |         case 4: printf("  ----\n  |  |\n  |  O\n  | /|\\\n  |\n  |\n--------\n"); break; | ||||||
|  |         case 5: printf("  ----\n  |  |\n  |  O\n  | /|\\\n  | /\n  |\n--------\n"); break; | ||||||
|  |         case 6: printf("  ----\n  |  |\n  |  O\n  | /|\\\n  | / \\\n  |\n--------\n"); break; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | int main() { | ||||||
|  |     srand(time(NULL)); | ||||||
|  |     const char *word = words[rand() % MAX_WORDS]; | ||||||
|  |     int word_length = strlen(word); | ||||||
|  |     char guessed[word_length]; | ||||||
|  |     int tries = 0; | ||||||
|  |     int guessed_correctly = 0; | ||||||
|  |  | ||||||
|  |     for (int i = 0; i < word_length; i++) { | ||||||
|  |         guessed[i] = '_'; | ||||||
|  |     } | ||||||
|  |     guessed[word_length] = '\0'; | ||||||
|  |  | ||||||
|  |     while (tries < MAX_TRIES && guessed_correctly < word_length) { | ||||||
|  |         printf("\nMot à deviner : %s\n", guessed); | ||||||
|  |         display_hangman(tries); | ||||||
|  |         char guess; | ||||||
|  |         printf("Entrez une lettre : "); | ||||||
|  |         scanf(" %c", &guess); | ||||||
|  |         int found = 0; | ||||||
|  |  | ||||||
|  |         for (int i = 0; i < word_length; i++) { | ||||||
|  |             if (word[i] == guess) { | ||||||
|  |                 if (guessed[i] == '_') { | ||||||
|  |                     guessed[i] = guess; | ||||||
|  |                     guessed_correctly++; | ||||||
|  |                 } | ||||||
|  |                 found = 1; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         if (!found) { | ||||||
|  |             tries++; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     if (guessed_correctly == word_length) { | ||||||
|  |         printf("Félicitations ! Vous avez deviné le mot : %s\n", word); | ||||||
|  |     } else { | ||||||
|  |         printf("Désolé, vous avez perdu. Le mot était : %s\n", word); | ||||||
|  |         display_hangman(MAX_TRIES); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     return 0; | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user