8 Commits

Author SHA1 Message Date
159c83ea8d Added difficulty and comments 2024-10-23 21:01:29 +02:00
8877777c62 Commentaires 2024-10-15 12:27:04 +02:00
10c9aca59a Actualiser pendu.c 2024-10-15 12:16:52 +02:00
3c4ed87d6c ajout des commentaires. 2024-10-15 12:12:39 +02:00
ebfe656cf4 ajout du cooldown sur le scanf 2024-10-15 12:12:04 +02:00
4960203ced Merge pull request 'dev-landrin' (#6) from dev-landrin into master
Reviewed-on: #6
2024-10-15 12:04:07 +02:00
509db16917 Added comments 2024-10-15 11:59:29 +02:00
2fd6561591 Added difficulty 2024-10-15 11:32:49 +02:00
2 changed files with 30 additions and 24 deletions

54
pendu.c
View File

@@ -37,18 +37,19 @@ void display_hangman(int tries) {
} }
} }
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
/* /*
this function allow to save the last party this function allow to save the last party
Parameters: Parameters:
status -> state that save if the gamer win or lose the party status -> state that save if the gamer win or lose the party
good_word -> the word to guess good_word -> the word to guess
try -> the wrong letters try by the gamer try -> the letters try by the gamer
cpt_try -> the try's table size
good_try -> the good letters try by the gamer
cpt_good_try -> the good_try's table size
*/ */
void save_party(char * status, const char * good_word, char try[], int cpt_try, char good_try[], int cpt_good_try) { void save_party(char * status, const char * good_word, char try[]) {
time_t t; time_t t;
time(&t); //stock the current time time(&t); //stock the current time
char * date; char * date;
@@ -71,21 +72,25 @@ void save_party(char * status, const char * good_word, char try[], int cpt_try,
fputs("\n",fichier); fputs("\n",fichier);
fputs("tried letters: ", fichier); fputs("tried letters: ", fichier);
for (int i = 0; i < cpt_try; i++) { for (int i = 0; i < sizeof(try); i++) {
fputc(try[i],fichier); fputc(try[i],fichier);
} }
fputs("\n",fichier); fputs("\n",fichier);
fputs("guessed letters: ", fichier); fclose(fichier); // On ferme le fichier qui a été ouvert
for (int i = 0; i < cpt_good_try; i++) {
fputc(good_try[i],fichier);
}
fputs("\n",fichier);
fclose(fichier); // Close the opened file
} }
}
=======
<<<<<<< HEAD
=======
void sig_handler(int signum){
printf("\ntime out\n");
exit (1);
>>>>>>> b4f25a5 (ajout du cooldown sur le scanf)
=======
=======
>>>>>>> dev-rocherl
>>>>>>> 083b1f2 (Commentaires)
/* this function display time out when user does nothing during 30s and verify signal*/ /* this function display time out when user does nothing during 30s and verify signal*/
void sig_handler(int signum){ void sig_handler(int signum){
if (signum == SIGALRM){ if (signum == SIGALRM){
@@ -93,8 +98,11 @@ void sig_handler(int signum){
printf("\ntime out\n"); printf("\ntime out\n");
exit (1); exit (1);
} }
} <<<<<<< HEAD
>>>>>>> 83066e1 (ajout des commentaires.)
=======
>>>>>>> dev-rocherl
=======
/* /*
getWordByLength() function adds the possibility to the user to choose how many letters maximum the word to guess can contains. getWordByLength() function adds the possibility to the user to choose how many letters maximum the word to guess can contains.
@@ -129,6 +137,7 @@ const char* getWordByLength(){
word = (const char*) strcat((char *) word, newWords[rand() % wordsFound]); word = (const char*) strcat((char *) word, newWords[rand() % wordsFound]);
}*/ }*/
return word; return word;
>>>>>>> dev-schied
} }
int main() { int main() {
@@ -142,9 +151,7 @@ int main() {
char guessed[word_length]; char guessed[word_length];
int tries = 0; int tries = 0;
int guessed_correctly = 0; int guessed_correctly = 0;
char try[MAX_TRIES]; //save the carcater false char try[MAX_TRIES]; //save the carcater try
char good_try[word_length]; //save the carcater good
int cpt = 0;
signal(SIGALRM,sig_handler); signal(SIGALRM,sig_handler);
@@ -166,6 +173,7 @@ int main() {
scanf(" %c", &guess); scanf(" %c", &guess);
int found = 0; int found = 0;
for (int i = 0; i < word_length; i++) { for (int i = 0; i < word_length; i++) {
@@ -173,6 +181,7 @@ int main() {
if (guessed[i] == '_') { if (guessed[i] == '_') {
guessed[i] = guess; guessed[i] = guess;
guessed_correctly++; guessed_correctly++;
try[tries] = guess;
} }
found = 1; found = 1;
} }
@@ -181,19 +190,16 @@ int main() {
if (!found) { if (!found) {
try[tries] = guess; try[tries] = guess;
tries++; tries++;
}else{
good_try[cpt] = guess;
cpt++;
} }
} }
if (guessed_correctly == word_length) { if (guessed_correctly == word_length) {
printf("Félicitations ! Vous avez deviné le mot : %s\n", word); printf("Félicitations ! Vous avez deviné le mot : %s\n", word);
save_party("Win", word, try, tries, good_try, cpt); save_party("Win", word, try);
} else { } else {
printf("Désolé, vous avez perdu. Le mot était : %s\n", word); printf("Désolé, vous avez perdu. Le mot était : %s\n", word);
display_hangman(MAX_TRIES); display_hangman(MAX_TRIES);
save_party("Lose", word, try, tries, good_try, cpt); save_party("Lose", word, try);
} }
return 0; return 0;

Binary file not shown.