diff --git a/a.out b/a.out deleted file mode 100755 index 54498ff..0000000 Binary files a/a.out and /dev/null differ diff --git a/getfuncs.c b/getfuncs.c deleted file mode 100644 index fa6b69d..0000000 --- a/getfuncs.c +++ /dev/null @@ -1,80 +0,0 @@ -#include -#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 -