From 32de0b90e77881281a1d2879418e386edbc9e197 Mon Sep 17 00:00:00 2001 From: vaisse Date: Wed, 8 Oct 2025 17:32:29 +0200 Subject: [PATCH] ... --- a.out | Bin 16048 -> 0 bytes getfuncs.c | 80 ------------------------- interface.c => src/interface.c | 0 src_karamosr/karamosr.c | 103 --------------------------------- wordbank.txt | 7 --- 5 files changed, 190 deletions(-) delete mode 100755 a.out delete mode 100644 getfuncs.c rename interface.c => src/interface.c (100%) delete mode 100644 src_karamosr/karamosr.c delete mode 100644 wordbank.txt diff --git a/a.out b/a.out deleted file mode 100755 index 54498ff8d4f3e5c42f9661cdecde7a941fdbce0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16048 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 -#include -#include - -/* -récupère le nombre de lignes dans la banque de mots -*/ -int getFileLength(){ - /*variables*/ - FILE* stream; - int file_length = 0; - char* line = NULL; - size_t length = 0; - ssize_t read; - - /*prog*/ - stream = fopen("wordbank.txt", "r"); - if (stream == NULL){ - return EXIT_FAILURE; - } - - while((read = getline(&line, &length, stream)) != -1){ - file_length++; - } - - fclose(stream); - return file_length-1; -} - -/* -récupère un mot aléatoire dans la banque de mots -*/ -int fetchWord(char* fullword, int file_length){ - /*variables*/ - FILE* stream; - int random = (rand() * time(NULL)) % (file_length); - char read[8]; - unsigned int counter = 0; - int char_size = (int) sizeof(char); - int line=0; - int offset=0; - - /*prog*/ - printf("%d\n", random); - stream = fopen("wordbank.txt", "r"); - if (stream == NULL){ - return -1; - } - - while((!feof(stream))&&(offset!=random)){ - fread(read, sizeof(char), 1, stream); - if(*read=='\n'){ - offset++; - } - } - - *read=' '; - - while(*read!='\n'){ - fread(read, sizeof(char), 1, stream); - fullword[counter] = *read; - counter++; - } - - fclose(stream); - return 0; -} - - -int main(void){ - int flength; - char fullWord[128]; - - flength = getFileLength(); - if(fetchWord(fullWord, flength)!=-1){ - printf("%s", fullWord); - } - - return EXIT_SUCCESS; -} \ No newline at end of file diff --git a/interface.c b/src/interface.c similarity index 100% rename from interface.c rename to src/interface.c diff --git a/src_karamosr/karamosr.c b/src_karamosr/karamosr.c deleted file mode 100644 index 78e6954..0000000 --- a/src_karamosr/karamosr.c +++ /dev/null @@ -1,103 +0,0 @@ -#include -#include -#include - -#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 = wor_size(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 = word_size(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 = word_size(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 = choose_letter(); - - 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; -} diff --git a/wordbank.txt b/wordbank.txt deleted file mode 100644 index 135d681..0000000 --- a/wordbank.txt +++ /dev/null @@ -1,7 +0,0 @@ -anticonstitutionnellement -éclésiastique -abandonner -seringue -vocifération -éponyme -