logo Homepage
+  NewbieContest
|-+  Programmation» Langages compilés» [C] fonction delay().
Username:
Password:
Pages: [1]
  Imprimer  
Auteur Fil de discussion: [C] fonction delay().  (Lu 3321 fois)
micka13
Profil challenge

Classement : 3454/54324

Membre Junior
**
Hors ligne Hors ligne
Messages: 86


Voir le profil
« le: 15 Avril 2007 à 16:08:39 »

Bonjour, pour mon pojet informatique , je dois realiser un othello.
Il est finis , mais maintenant je cherche a rajouter des trucs.
Par exemple je souhaiterais faire une animation : les pions se retournent .
J'ai donc trouvé la fonction delay , qui me permet de temporiser mon anim , pour qu'on puisse la voir , sinon c'est trop rapide.
Mon probleme vient du fait que n'importe quel paramatres ne changent rien a cette fonction , il n'y a aucune pause !
delay() prend des parametres en ms , donc si je met 1000 , il devrait y avoir 1s de pause non? Il existe son homologue "sleep()"  , qui lui est en s , mais le probleme est qu'il n'accepte que des int , donc je ne peux pas faire 0.2 s...
Ma configuration : window , 1go ram , pentium D
Logiciel : turbo C 2.01.
Pourquoi un logiciel aussi pourri? Aucune idee je n'ai droit de compiler avec rien d'autre .
Connaissez vous d'autre fonctions de ce type , ou bien peut etre qu'il y a quelquechose a faire que je n'ai pas compris?
Merci de votre aide.
Journalisée
Nebelmann

Profil challenge

Classement : 464/54324

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 1357


Voir le profil
« #1 le: 15 Avril 2007 à 16:36:54 »

essaye un usleep :

Code:
       /* BSD version */
       #include <unistd.h>

       void usleep(unsigned long usec);
Journalisée

-- Nebelmann -- Registered linux user #429186
«Si les lecteurs étaient des compilateurs, les posteurs feraient peut-être davantage attention à ce qu'ils écrivent...»
micka13
Profil challenge

Classement : 3454/54324

Membre Junior
**
Hors ligne Hors ligne
Messages: 86


Voir le profil
« #2 le: 15 Avril 2007 à 16:42:08 »

Arf pas de chance cette bibliotheque n'existe pas d'origine avec turboC.
Je ne peux pas en prendre d'autre car sinon il y aura une erreur chez le prof
Journalisée
Invit
Invité
« #3 le: 15 Avril 2007 à 19:35:01 »

Perso quand je faisais de la prog VGA avec TurboC j'utilisais delay() aussi, c'est crado mais me semble que c'est de toutes façons le moyen le plus efficace pour une animation simple.
Journalisée
micka13
Profil challenge

Classement : 3454/54324

Membre Junior
**
Hors ligne Hors ligne
Messages: 86


Voir le profil
« #4 le: 15 Avril 2007 à 20:06:35 »

C'est ce que j'ai crus comprendre a travers divers forum!
Au premier semestre d'autre personne s'en sont servi a ma fac , et ca marché.
Je ne comprend pas pourquoi ca ne fonctionne pas sur mon ordi:mad:.
Surtout que le sleep n'a pas de probleme:rolleyes:

Je crois que je vais me faire des boucles...c'est dommage d'utiliser le processus alors que le delay , parait-il ,arrete tout.

[edit]Bizarre delay se trouve dans dos.h , mais en rajoutant time.h , il semble que cela fonctionne...je vais faire d'autre test pour en etre sur [/edit]
Journalisée
Invit
Invité
« #5 le: 15 Avril 2007 à 21:12:47 »

Citation de: micka13
Je crois que je vais me faire des boucles...
Justement non, la vitesse d'exec de tes boucles dépendent de la cadence de ton processeur, tandis qu'avec delay() tu temporises un nombres de milisecondes (lesquelles équivalent à la même durée quelque soit le processeur )

Ma foi, il est sans doute possible de passer par time.h et de faire une tempo "à la main".
Journalisée
_o_
Relecteur

Profil challenge

Classement : 42/54324

Membre Héroïque
*
Hors ligne Hors ligne
Messages: 1258


Voir le profil
« #6 le: 15 Avril 2007 à 22:05:11 »

Citation de: cmd
Ma foi, il est sans doute possible de passer par time.h et de faire une tempo "à la main".
Mais ça risque de bouffer du CPU à rien faire.

La solution propre est d'utiliser delay(). Reste à comprendre pourquoi le passage d'un paramètre ne change rien. Peut-être une initialisation mal fichue ? Sinon, attention, delay a une précision de 55 ms d'après ce que j'en lis.
Journalisée

Les épreuves de hack de NC sont trop faciles ? Et pourtant ! Bienvenue dans la vraie vie : http://thedailywtf.com/Articles/So-You-Hacked-Our-Site!.aspx
micka13
Profil challenge

Classement : 3454/54324

Membre Junior
**
Hors ligne Hors ligne
Messages: 86


Voir le profil
« #7 le: 16 Avril 2007 à 09:01:39 »

Je vous remercie pour vos reponses , mais il semblerait que j'ai ete un peu stupide .
Lorsque je lance mon programme , il commence l'execution avant que la fenetre n'apparaisse.
Donc en fait il faisait ma petite anim qui dure 2s , mais lorsque je le voyais les 2 s etaient ecoulé!
Ensuite quand je changer de paramatres , entre 5000 et 50000 il y a vraiment peu de difference donc je ne voyait toujours pas.Et puis enfin lorsque j'ai mis 50000000000000   , a mon avis le chiffre etaient un peu grand^^
Resultat j'ai fait un getch()  pour bien attendre que l'ecran apparaisse et la miracle ^^.
Journalisée
Pages: [1]
  Imprimer  
 
Aller à: