Compare commits

..

2 Commits

Author SHA1 Message Date
83066e1704 ajout des commentaires. 2024-10-15 12:01:02 +02:00
b4f25a50b0 ajout du cooldown sur le scanf 2024-10-15 11:32:43 +02:00

16
pendu.c
View File

@ -1,7 +1,9 @@
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
#define MAX_WORDS 14
#define MAX_TRIES 6
@ -35,6 +37,15 @@ void display_hangman(int tries) {
}
}
/* this function display time out when user does nothing during 30s and verify signal*/
void sig_handler(int signum){
if (signum == SIGALRM){
printf("\ntime out\n");
exit (1);
}
}
int main() {
srand(time(NULL));
const char *word = words[rand() % MAX_WORDS];
@ -43,16 +54,21 @@ int main() {
int tries = 0;
int guessed_correctly = 0;
signal(SIGALRM,sig_handler);
for (int i = 0; i < word_length; i++) {
guessed[i] = '_';
}
guessed[word_length] = '\0';
while (tries < MAX_TRIES && guessed_correctly < word_length) {
printf("\nMot à deviner : %s\n", guessed);
display_hangman(tries);
char guess;
alarm(30);
printf("Entrez une lettre : ");
alarm(30);
scanf(" %c", &guess);
int found = 0;