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