Gestion du temps - C

Fermé
Blennoragie Messages postés 34 Date d'inscription samedi 15 mars 2008 Statut Membre Dernière intervention 30 octobre 2012 - 22 déc. 2009 à 17:42
 lami20j - 24 déc. 2009 à 17:18
Bonjour,

Salut,

Je suis sur un programme, et je galère avec la gestion du temps. J'utilise la bib graph.h et time.h (cette dernière que je connais pas du tout).

En fait, j'ai fait un

srand(time(NULL));
hasard=rand()%5;

Car j'ai 5 positions pour l'apparition d'une image.
Mais, je n'arrive pas à faire en sorte que mon image reste durant un temps X. (là elle reste tout le temps)
& je n'arrive pas à boucler le rand()%5, de telle sorte que durant un temps total Xt, il y ait une succession d'images qui apparaissent aléatoirement sur l'un des 5 positions (toujours pendant un temps x).

Si quelqu'un sait comment ce gérer ce paramètre, ça m'aiderait beaucoup.

Merci,
A voir également:

4 réponses

mamiemando Messages postés 33545 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 25 février 2025 7 829
23 déc. 2009 à 01:45
Mais, je n'arrive pas à faire en sorte que mon image reste durant un temps X. (là elle reste tout le temps)

Je ne suis pas sûre d'avoir compris, mais ne s'agit-il pas simplement de la fonction sleep ?
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/sleep.3.html

Je t'invite à utiliser massivement les pages de man (via une console quand tu es sous linux ou via google) quand tu te poses des questions sur une fonction standard en C.

Bonne chance
0
Blennoragie Messages postés 34 Date d'inscription samedi 15 mars 2008 Statut Membre Dernière intervention 30 octobre 2012 6
23 déc. 2009 à 18:10
Bah comment puis je chercher dans le man sans connaitre le nom des fonctions. On peut trouver la liste ?

Je pense que la fonction sleep peut m'aider. Mais j'ai un soucis.

Je prog un jeu. Admettons que ce jeu ait une durée d'1 minute. Durant cette minute, 1 image peut se placer sur 5 positions, durant 1 sec (donc la fonction "sleep").

Durant cette seconde, 3 solutions :
-un clic a été effectué sur l'image, tant mieux, image disparait : user gagne un point
-un clic a été effectué a côté, loupé, image disparait ; user ne gagne pas de point
-aucun clic n'a été effectué, encore loupé, image disparait : user ne gagne pas de point

Seconde suivante, image réapparait ailleurs, etc...

Le sleep va fonctionner pour stopper l'image 1 seconde. Mais comment faire pour que le jeu DURE 60 SECONDES ? C'est la que j'ai un gros gros soucis :Q Ca me bloque tellement
0
mamiemando Messages postés 33545 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 25 février 2025 7 829
24 déc. 2009 à 16:40
Bah comment puis je chercher dans le man sans connaitre le nom des fonctions. On peut trouver la liste ?

Les pages de man références souvant les fonctions connexes à celle dont tu examines le man. Il suffit de connaître une fonction qui ressemble de près à ce que tu veux faire et ainsi dérouler le fil.

Le sleep va fonctionner pour stopper l'image 1 seconde. Mais comment faire pour que le jeu DURE 60 SECONDES ? C'est la que j'ai un gros gros soucis :Q Ca me bloque tellement

Première chose, il faut bien voir que le sleep va endormir ton fil d'exécution. Tout se passera comme si le programme était figé pendant tout ce temps.

Si l'interface ne doit pas être gelé, il va falloir utilisé des threads pour faire tourner en parallèles plusieurs fils d'exécutions. Dans ce cas là, il faut se tourner vers des fonctions comme fork() sous linux. Attention, la gestion des threads est assez différente sous windows. Dans tous les cas, tu retrouveras des notions de sections critiques, de sémaphores etc... pour éviter qu'une section de code ne soit simultanément exécutée par plusieurs processus.

Ce n'est pas trop ma spécialité, donc je t'invite à fouiller des tutoriels sur la programmation multithread / multiprocessus si elle répond à ton besoin.

Bonne chance
0
Salut,

Bah comment puis je chercher dans le man sans connaitre le nom des fonctions. On peut trouver la liste ?
Voir les sections 2 et 3 http://manpagesfr.free.fr/consulter.html
0