diff --git a/pendu.c b/pendu.c index 1b0cfd6..c6032b4 100644 --- a/pendu.c +++ b/pendu.c @@ -35,6 +35,47 @@ void display_hangman(int tries) { } } +/* +this function allow to save the last party + +Parameters: + status -> state that save if the gamer win or lose the party + good_word -> the word to guess + try -> the letters try by the gamer +*/ +void save_party(char * status, const char * good_word, char try[]) { + time_t t; + time(&t); //stock the current time + char * date; + date = ctime(&t); //stock the current time format as: day, month, number of the month, hour, year + + FILE* fichier = fopen("save_party.txt", "w"); + + if (fichier != NULL) + { + fputs("Date and time: ", fichier); + fputs(date,fichier); + fputs("\n",fichier); + + fputs("Status: ", fichier); + fputs(status,fichier); + fputs("\n",fichier); + + fputs("Good word: ", fichier); + fputs(good_word,fichier); + fputs("\n",fichier); + + fputs("tried letters: ", fichier); + for (int i = 0; i < sizeof(try); i++) { + fputc(try[i],fichier); + } + fputs("\n",fichier); + + fclose(fichier); // On ferme le fichier qui a été ouvert + } + +} + int main() { srand(time(NULL)); const char *word = words[rand() % MAX_WORDS]; @@ -42,6 +83,7 @@ int main() { char guessed[word_length]; int tries = 0; int guessed_correctly = 0; + char try[MAX_TRIES]; //save the carcater try for (int i = 0; i < word_length; i++) { guessed[i] = '_'; @@ -54,6 +96,9 @@ int main() { char guess; printf("Entrez une lettre : "); scanf(" %c", &guess); + + + int found = 0; for (int i = 0; i < word_length; i++) { @@ -61,21 +106,25 @@ int main() { if (guessed[i] == '_') { guessed[i] = guess; guessed_correctly++; + try[tries] = guess; } found = 1; } } if (!found) { + try[tries] = guess; tries++; } } if (guessed_correctly == word_length) { printf("Félicitations ! Vous avez deviné le mot : %s\n", word); + save_party("Win", word, try); } else { printf("Désolé, vous avez perdu. Le mot était : %s\n", word); display_hangman(MAX_TRIES); + save_party("Lose", word, try); } return 0; diff --git a/save_party.txt b/save_party.txt new file mode 100644 index 0000000..8175bdd Binary files /dev/null and b/save_party.txt differ