From 3e92ebda4a64692449221a22595b3395e7a6e3f7 Mon Sep 17 00:00:00 2001 From: bouzon Date: Tue, 15 Oct 2024 11:47:35 +0200 Subject: [PATCH] fusion --- .gitignore | 1 + pendu.c | 47 ++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 45 insertions(+), 3 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f47cb20 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.out diff --git a/pendu.c b/pendu.c index 1b0cfd6..4e3a5c9 100644 --- a/pendu.c +++ b/pendu.c @@ -20,7 +20,9 @@ const char *words[MAX_WORDS] = { "gyroscope", "periclitation", "susurrer", - "eclesiastique" + "eclesiastique", + "de", + "a" }; void display_hangman(int tries) { @@ -35,14 +37,53 @@ void display_hangman(int tries) { } } -int main() { +char *hidden_word(int length_choice) { + srand(time(NULL)); - const char *word = words[rand() % MAX_WORDS]; + char word = words[rand() % MAX_WORDS]; int word_length = strlen(word); + int stay_length = length_choice; + char *total_word; + int number_of_word = 0; + int total_length = word_length; + + for(int y=0; word_length > length_choice; y++){ + word = *words[rand() % MAX_WORDS]; + word_length = strlen(word); + } + + total_word = word; + + for(int y=0; word_length > stay_length; y++){ + + word = *words[rand() % MAX_WORDS]; + word_length = strlen(total_word); + + if(stay_length >= word_length){ + total_word = word +'\0'+ *total_word; + total_length = strlen(total_word); + stay_length = total_length - length_choice; + } + } + + + + return total_word; +} + +int main() { + int length_choice = 26; + printf("Entrez la difficulté (Taille maximum du mot à deviner) : "); + scanf(" %d", &length_choice); + + char *word = hidden_word(length_choice); + 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] = '_'; }