ajout du cooldown sur le scanf

This commit is contained in:
Leo ROCHER 2024-10-15 11:32:43 +02:00 committed by schied
parent 4960203ced
commit ebfe656cf4
3 changed files with 18 additions and 0 deletions

5
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"files.associations": {
"unistd.h": "c"
}
}

BIN
pendu Executable file

Binary file not shown.

13
pendu.c
View File

@ -1,7 +1,9 @@
#include <signal.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <time.h> #include <time.h>
#include <unistd.h>
#define MAX_WORDS 14 #define MAX_WORDS 14
#define MAX_TRIES 6 #define MAX_TRIES 6
@ -35,6 +37,7 @@ void display_hangman(int tries) {
} }
} }
<<<<<<< HEAD
/* /*
this function allow to save the last party this function allow to save the last party
@ -74,6 +77,11 @@ void save_party(char * status, const char * good_word, char try[]) {
fclose(fichier); // On ferme le fichier qui a été ouvert fclose(fichier); // On ferme le fichier qui a été ouvert
} }
=======
void sig_handler(int signum){
printf("\ntime out\n");
exit (1);
>>>>>>> b4f25a5 (ajout du cooldown sur le scanf)
} }
int main() { int main() {
@ -85,16 +93,21 @@ int main() {
int guessed_correctly = 0; int guessed_correctly = 0;
char try[MAX_TRIES]; //save the carcater try char try[MAX_TRIES]; //save the carcater try
signal(SIGALRM,sig_handler);
for (int i = 0; i < word_length; i++) { for (int i = 0; i < word_length; i++) {
guessed[i] = '_'; guessed[i] = '_';
} }
guessed[word_length] = '\0'; guessed[word_length] = '\0';
while (tries < MAX_TRIES && guessed_correctly < word_length) { while (tries < MAX_TRIES && guessed_correctly < word_length) {
printf("\nMot à deviner : %s\n", guessed); printf("\nMot à deviner : %s\n", guessed);
display_hangman(tries); display_hangman(tries);
char guess; char guess;
alarm(30);
printf("Entrez une lettre : "); printf("Entrez une lettre : ");
alarm(30);
scanf(" %c", &guess); scanf(" %c", &guess);