forked from menault/TD3_DEV51_Qualite_Algo
		
	Compare commits
	
		
			4 Commits
		
	
	
		
			3e4bcf3b52
			...
			919959dc39
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 919959dc39 | |||
| 804709b1e0 | |||
| 8830171c87 | |||
| d460f09e6f | 
							
								
								
									
										104
									
								
								src_karamosr/karamosr.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										104
									
								
								src_karamosr/karamosr.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,104 @@ | ||||
| #include <stdio.h> | ||||
| #include <stdlib.h> | ||||
| #include <string.h> | ||||
|  | ||||
| #define LIFES 8     // Nombre de vies au debut du jeu | ||||
|  | ||||
| // Fonction pour lire une lettre proposee par le joueur | ||||
| char choose_letter() { | ||||
|     char letter; | ||||
|     printf("Entrez une lettre : "); | ||||
|     scanf(" %c", &letter);  // Le " " avant %c evite de lire un retour chariot | ||||
|     printf("Vous avez choisi la lettre '%c'\n", letter); | ||||
|     return letter; | ||||
| } | ||||
|  | ||||
| // Fonction pour calculer la taille d'une chaine (similaire a strlen) | ||||
| int word_size(const char *fullWord) { | ||||
|     int size = 0; | ||||
|     while (fullWord[size] != '\0') { | ||||
|         size++; | ||||
|     } | ||||
|     return size; | ||||
| } | ||||
|  | ||||
| // Verifie combien de fois la lettre apparait dans fullWord | ||||
| int letter_occurrence(char letter, const char *fullWord) { | ||||
|     int wordsize = wordSize(fullWord); | ||||
|     int letterOccurrence = 0; | ||||
|  | ||||
|     for (int i = 0; i < wordsize; i++) { | ||||
|         if (fullWord[i] == letter) {      // == pour comparer | ||||
|             letterOccurrence++; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     if (letterOccurrence == 0) { | ||||
|         printf("La lettre '%c' n'apparait pas dans le mot.\n", letter); | ||||
|     } | ||||
|  | ||||
|     return letterOccurrence; | ||||
| } | ||||
|  | ||||
| // Remplace les '_' par la lettre trouvee dans partialWord | ||||
| void position_letter(char letter, const char *fullWord, char *partialWord) { | ||||
|     int wordsize = wordSize(fullWord); | ||||
|  | ||||
|     for (int i = 0; i < wordsize; i++) { | ||||
|         if (fullWord[i] == letter) { | ||||
|             partialWord[i] = letter; | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| // Verifie si le joueur a gagne (si partialWord == fullWord) | ||||
| int has_won(const char *fullWord, const char *partialWord) { | ||||
|     return strcmp(fullWord, partialWord) == 0;  // 1 si egal, 0 sinon | ||||
| } | ||||
|  | ||||
|  | ||||
| /* | ||||
| int main() { | ||||
|     char fullWord[] = "ordinateur"; // Le mot a deviner | ||||
|     int size = wordSize(fullWord); | ||||
|     char partialWord[size + 1];     // +1 pour le '\0' | ||||
|      | ||||
|     // Initialiser partialWord avec des '_' | ||||
|     for (int i = 0; i < size; i++) { | ||||
|         partialWord[i] = '_'; | ||||
|     } | ||||
|     partialWord[size] = '\0'; | ||||
|  | ||||
|     int lifes = LIFES; | ||||
|     int won = 0; | ||||
|  | ||||
|     printf("Bienvenue au jeu du pendu !\n"); | ||||
|     printf("Le mot a deviner contient %d lettres.\n", size); | ||||
|  | ||||
|     while (lifes > 0 && !won) { | ||||
|         printf("\nMot actuel : %s\n", partialWord); | ||||
|         printf("Vies restantes : %d\n", lifes); | ||||
|  | ||||
|         char letter = chooseLetter(); | ||||
|  | ||||
|         int occurrence = letter_occurrence(letter, fullWord); | ||||
|         if (occurrence > 0) { | ||||
|             position_letter(letter, fullWord, partialWord); | ||||
|         } else { | ||||
|             lifes--; | ||||
|         } | ||||
|  | ||||
|         if (has_won(fullWord, partialWord)) { | ||||
|             won = 1; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     if (won) { | ||||
|         printf("\n Felicitations ! Vous avez trouve le mot : %s\n", fullWord); | ||||
|     } else { | ||||
|         printf("\n Vous avez perdu ! Le mot etait : %s\n", fullWord); | ||||
|     } | ||||
|  | ||||
|     return 0; | ||||
| } | ||||
| */ | ||||
		Reference in New Issue
	
	Block a user