From 912354e062cea1a400333a25f594bb8c792f4b34 Mon Sep 17 00:00:00 2001 From: branco-g Date: Thu, 24 Oct 2024 15:57:21 +0200 Subject: [PATCH] =?UTF-8?q?r=C3=A9duire=20taille=20du=20main?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pendu.c | 111 +++++++++++++++++++++++++++++++----------------------- pendu.exe | Bin 147629 -> 147153 bytes 2 files changed, 63 insertions(+), 48 deletions(-) diff --git a/pendu.c b/pendu.c index 5e6eb93..8a6bf59 100644 --- a/pendu.c +++ b/pendu.c @@ -35,90 +35,105 @@ void display_hangman(int tries) { } } -void choose_words(int max_length, char *final_word) { +void choose_words(char *chosen_word, int max_length) { int total_length = 0; - int chosen[MAX_WORDS] = {0}; // Pour suivre les mots déjà choisis - int attemps = 0; - int max_attemps = 2 * MAX_WORDS; + int used[MAX_WORDS] = {0}; // Array to mark used words + int word_index; - while (total_length < max_length && attemps < max_attemps) { - int index = rand() % MAX_WORDS; - - // Si ce mot est déjà choisi ou dépasse la longueur maximale, on l'ignore - if (chosen[index] || total_length + strlen(words[index]) + (total_length > 0 ? 1 : 0) > max_length) { - attemps++; - continue; + chosen_word[0] = '\0'; // Initialize empty string + + while (total_length < max_length) { + word_index = rand() % MAX_WORDS; + + // Ensure we do not exceed max_length or reuse a word + if (!used[word_index] && total_length + strlen(words[word_index]) + (total_length > 0 ? 1 : 0) <= max_length) { + // Add a space if this isn't the first word + if (total_length > 0) { + strcat(chosen_word, " "); + total_length++; // Account for the space + } + + strcat(chosen_word, words[word_index]); // Add the word to the chosen word + total_length += strlen(words[word_index]); + used[word_index] = 1; // Mark the word as used + + // If we're already at the exact length, break + if (total_length == max_length) { + break; + } } - // Si c'est le premier mot, on le copie directement, sinon on ajoute un espace et le mot - if (total_length > 0) { - strcat(final_word, " "); // Ajouter un espace entre les mots + // Break if no more suitable words can be found + int all_used = 1; + for (int i = 0; i < MAX_WORDS; i++) { + if (!used[i] && total_length + strlen(words[i]) + 1 <= max_length) { + all_used = 0; + break; + } } - strcat(final_word, words[index]); - - total_length += strlen(words[index]) + (total_length > 0 ? 1 : 0); // Inclure l'espace si ce n'est pas le premier mot - chosen[index] = 1; // Marquer ce mot comme choisi + if (all_used) break; } } int main() { srand(time(NULL)); - // Demander la taille maximale pour le mot - int max_length; - printf("Choisissez la taille maximale du mot à deviner : "); - scanf("%d", &max_length); + int max_word_length; + printf("Choisissez la taille maximum du mot à deviner : "); + scanf("%d", &max_word_length); - // Créer la chaîne finale à deviner, basée sur la taille choisie - char final_word[256] = ""; // Un buffer assez grand pour contenir plusieurs mots + char chosen_word[max_word_length]; // String to store the chosen combination of words + choose_words(chosen_word, max_word_length); - // Choisir un ou plusieurs mots pour constituer le mot final - choose_words(max_length, final_word); - - int word_length = strlen(final_word); - char guessed[word_length]; + int word_length = strlen(chosen_word); + char guessed[word_length + 1]; // +1 for the null terminator int tries = 0; int guessed_correctly = 0; + int letters_to_guess = 0; // Total letters to guess (excluding spaces) - // Initialiser la chaîne des lettres devinées avec des '_' + // Initialize the guessed array and count the total number of letters to guess for (int i = 0; i < word_length; i++) { - guessed[i] = (final_word[i] == ' ') ? ' ' : '_'; // Conserver les espaces dans guessed + if (chosen_word[i] == ' ') { + guessed[i] = ' '; // Spaces are pre-revealed + } else { + guessed[i] = '_'; + letters_to_guess++; // Only count non-space characters + } } guessed[word_length] = '\0'; - while (tries < MAX_TRIES && guessed_correctly < word_length) { + while (tries < MAX_TRIES && guessed_correctly < letters_to_guess) { printf("\nMot à deviner : %s\n", guessed); display_hangman(tries); char guess; printf("Entrez une lettre : "); scanf(" %c", &guess); int found = 0; + int already_revealed = 0; - // Vérifier si la lettre devinée est dans le mot final + // Check if the guessed letter is in the word for (int i = 0; i < word_length; i++) { - if (final_word[i] == guess && guessed[i] == '_') { - guessed[i] = guess; - found = 1; + if (chosen_word[i] == guess) { + if (guessed[i] == '_') { + guessed[i] = guess; + guessed_correctly++; + found = 1; + } else { + already_revealed = 1; // The letter is already revealed + } } } - // Le comptage des lettres correctes doit exclure les espaces - guessed_correctly = 0; - for (int i = 0; i < word_length; i++) { - if (guessed[i] != '_' && final_word[i] != ' ') { - guessed_correctly++; - } - } - - if (!found) { + // Only increment tries if the letter was not found and not already revealed + if (!found && !already_revealed) { tries++; } } - if (guessed_correctly == word_length) { - printf("Félicitations ! Vous avez deviné le mot : %s\n", final_word); + if (guessed_correctly == letters_to_guess) { + printf("Félicitations ! Vous avez deviné le mot : %s\n", chosen_word); } else { - printf("Désolé, vous avez perdu. Le mot était : %s\n", final_word); + printf("Désolé, vous avez perdu. Le mot était : %s\n", chosen_word); display_hangman(MAX_TRIES); } diff --git a/pendu.exe b/pendu.exe index 6ab74a9f4f44aa7671e5422a4b99e58b266eea15..97ad6fad91c48cee400fdb423ae66b1b3502ea27 100644 GIT binary patch delta 19916 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%0A&5RK@@m>&@iI-TmE6|AA27VM2IjX1 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