diff --git a/main.c b/main.c index d68ea61..3199175 100644 --- a/main.c +++ b/main.c @@ -2,6 +2,8 @@ #include #include #include +#define CYCLE 10000L + #define LARGEUR_FENETRE 1050 #define HAUTEUR_FENETRE 750 @@ -105,10 +107,21 @@ void deplacerSerpent(int longueurSerpent, Segment serpent[], int direction){ Attendre(100); } -void timer(){ - + +unsigned long Microsecondes() { + /* Code pour obtenir le temps en microsecondes*/ + /* Remplacez cela par la logique réelle de votre application*/ + return 0; /* Remplacez 0 par la valeur correcte*/ } +/* Fonction pour convertir les microsecondes en minutes:secondes*/ +void ConvertirMicrosecondes(unsigned long microsecondes, int *minutes, int *secondes) { + *minutes = microsecondes / 60000000; /* 1 minute = 60 * 1 000 000 microsecondes*/ + *secondes = (microsecondes % 60000000) / 1000000; /* 1 seconde = 1 000 000 microsecondes*/ +} + + + int main() { int touche,i, j,x=0,direction=1,longueurSerpent=10; Segment serpent[10]; @@ -127,7 +140,35 @@ int main() { afficherPastilleAleatoire(5); afficherSerpent(serpent, longueurSerpent); - + + const unsigned long CYCLE = 1000000L; /* Intervalle en microsecondes (1 seconde)*/ + + /* Marquer le début du premier cycle*/ + unsigned long suivant = Microsecondes() + CYCLE; + + while (1) { /* Boucle principale du programme*/ + if (Microsecondes() > suivant) { + /* Une période s'est écoulée, effectuez la tâche nécessaire*/ + /* (par exemple, mettre à jour le dessin)*/ + + /* Convertir les microsecondes en minutes:secondes*/ + int minutes, secondes; + ConvertirMicrosecondes(Microsecondes(), &minutes, &secondes); + + /* Afficher le temps*/ + printf("Temps écoulé : %02d:%02d\n", minutes, secondes); + + /* Mettre à jour la prochaine date*/ + suivant = Microsecondes() + CYCLE; + } + + /* Ajoutez d'autres traitements de la boucle principale ici*/ + + /* Pause pour ne pas surcharger le processeur*/ + usleep(1000); /* Attendez 1000 microsecondes (1 milliseconde)*/ + } + + while(1){ int touche;