From d460f09e6f87d8c5df5877ff9647a12d1d613ccb Mon Sep 17 00:00:00 2001 From: kara-mosr Date: Wed, 8 Oct 2025 11:41:23 +0200 Subject: [PATCH 1/3] add toto --- toto | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 toto diff --git a/toto b/toto new file mode 100644 index 0000000..e69de29 From 8830171c8746d6d3bc9151937277b89a2b2ae4db Mon Sep 17 00:00:00 2001 From: kara-mosr Date: Wed, 8 Oct 2025 11:43:05 +0200 Subject: [PATCH 2/3] add src-karamosr --- src_karamosr/karamosr.c | 104 ++++++++++++++++++++++++++++++++++++++++ toto | 0 2 files changed, 104 insertions(+) create mode 100644 src_karamosr/karamosr.c delete mode 100644 toto diff --git a/src_karamosr/karamosr.c b/src_karamosr/karamosr.c new file mode 100644 index 0000000..984073b --- /dev/null +++ b/src_karamosr/karamosr.c @@ -0,0 +1,104 @@ +#include +#include +#include + +#define LIFES 8 // Nombre de vies au debut du jeu + +// Fonction pour lire une lettre proposee par le joueur +char chooseLetter() { + 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 wordSize(const char *fullWord) { + int size = 0; + while (fullWord[size] != '\0') { + size++; + } + return size; +} + +// Verifie combien de fois la lettre apparait dans fullWord +int checkLetterOccurrence(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 placeLetterInPartialWord(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 hasWon(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 = checkLetterOccurrence(letter, fullWord); + if (occurrence > 0) { + placeLetterInPartialWord(letter, fullWord, partialWord); + } else { + lifes--; + } + + if (hasWon(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; +} +*/ \ No newline at end of file diff --git a/toto b/toto deleted file mode 100644 index e69de29..0000000 From 804709b1e0054b2345d1ccada89ab53acd428173 Mon Sep 17 00:00:00 2001 From: kara-mosr Date: Wed, 8 Oct 2025 14:18:02 +0200 Subject: [PATCH 3/3] add src_karamosr --- src_karamosr/karamosr.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src_karamosr/karamosr.c b/src_karamosr/karamosr.c index 984073b..449fc6e 100644 --- a/src_karamosr/karamosr.c +++ b/src_karamosr/karamosr.c @@ -5,7 +5,7 @@ #define LIFES 8 // Nombre de vies au debut du jeu // Fonction pour lire une lettre proposee par le joueur -char chooseLetter() { +char choose_letter() { char letter; printf("Entrez une lettre : "); scanf(" %c", &letter); // Le " " avant %c evite de lire un retour chariot @@ -14,7 +14,7 @@ char chooseLetter() { } // Fonction pour calculer la taille d'une chaine (similaire a strlen) -int wordSize(const char *fullWord) { +int word_size(const char *fullWord) { int size = 0; while (fullWord[size] != '\0') { size++; @@ -23,7 +23,7 @@ int wordSize(const char *fullWord) { } // Verifie combien de fois la lettre apparait dans fullWord -int checkLetterOccurrence(char letter, const char *fullWord) { +int letter_occurrence(char letter, const char *fullWord) { int wordsize = wordSize(fullWord); int letterOccurrence = 0; @@ -41,7 +41,7 @@ int checkLetterOccurrence(char letter, const char *fullWord) { } // Remplace les '_' par la lettre trouvee dans partialWord -void placeLetterInPartialWord(char letter, const char *fullWord, char *partialWord) { +void position_letter(char letter, const char *fullWord, char *partialWord) { int wordsize = wordSize(fullWord); for (int i = 0; i < wordsize; i++) { @@ -52,7 +52,7 @@ void placeLetterInPartialWord(char letter, const char *fullWord, char *partialWo } // Verifie si le joueur a gagne (si partialWord == fullWord) -int hasWon(const char *fullWord, const char *partialWord) { +int has_won(const char *fullWord, const char *partialWord) { return strcmp(fullWord, partialWord) == 0; // 1 si egal, 0 sinon } @@ -81,14 +81,14 @@ int main() { char letter = chooseLetter(); - int occurrence = checkLetterOccurrence(letter, fullWord); + int occurrence = letter_occurrence(letter, fullWord); if (occurrence > 0) { - placeLetterInPartialWord(letter, fullWord, partialWord); + position_letter(letter, fullWord, partialWord); } else { lifes--; } - if (hasWon(fullWord, partialWord)) { + if (has_won(fullWord, partialWord)) { won = 1; } }