[C] Getch pendant 0.5sec
Résolu
cs-bilou
Messages postés
836
Statut
Membre
-
cs-bilou Messages postés 836 Statut Membre -
cs-bilou Messages postés 836 Statut Membre -
Bonjour,
Je suis actuellement en train de faire un PacMan.
Et donc je voudrais que l'on puisse utiliser gatch juste pendant 0.5sec.
Mais je ne vois vraiment pas comment faire :(
Il faut utiliser sleep(500) et getch( je veux utiliser getch car il n'y a pas besoin de confirmer par Entrée.
Si quelqu'un a une idée je suis preneur !!
Merci.
Bilou.
--
Il y a des jours faut pas m'chercher.
Et y'a des jours tous les jours !
Je suis actuellement en train de faire un PacMan.
Et donc je voudrais que l'on puisse utiliser gatch juste pendant 0.5sec.
Mais je ne vois vraiment pas comment faire :(
Il faut utiliser sleep(500) et getch( je veux utiliser getch car il n'y a pas besoin de confirmer par Entrée.
Si quelqu'un a une idée je suis preneur !!
Merci.
Bilou.
--
Il y a des jours faut pas m'chercher.
Et y'a des jours tous les jours !
Configuration: Tour: Antec Nine Hundred. Moniteur: LCD 19" HYUNDAI X93W WIDE. Carte mère: GIGABYTE EP45-DS3. Processeur: Intel Core Duo E7200.(Oc a 30%) Carte graphique: GIGABYTE Ati Radeon HD 3870 512MB GDDR3. RAM: G.SKILL 1024*2 DDR2.(5-5-5-15) Clavier: Logitech G11. Souris: Microsoft Laser Mouse 6000.
3 réponses
-
Salut,
Utilise _kbhit ( https://www.microsoft.com/en-us/download/details.aspx?id=55984 ).
Cela te permettra de faire ta pause et ne bloquera pas ton programme.
Cdlt -
Super merci.
Alors voilà se que j'ai fait pour avoir un getch juste pendant environ 0.5sec.
#include <conio.h> #include <stdio.h> int main(void) { int i = 0; long maxI = 50000; long touche; for (i=0 ; i < maxI ; i++) { while (kbhit() != 0) { touche = getch(); i = maxI++; } } if (touche == 2359208) printf("Aucunne touche détectée\n"); else printf("La touche est %c\n", touche); system("PAUSE"); }
Voilà merci encore pour ton aide.
Bilou.
-
Pas super super ton code.
L'utilisation de clock serait beaucoup mieux :
#include <stdio.h> #include <conio.h> #include <time.h> int main(void) { int c=-1; clock_t pause=clock()+0.5*CLOCKS_PER_SEC; while(clock()<pause) if(_kbhit()!=0){ c=_getch(); break; } if(c!=-1) printf("La touche est : %c\n",c); else puts("aucune touche détectée"); _getch(); return 0; }
Cdlt
-
-
Haa oui merci beaucoup fiddy.
Je vais regardre de plus prêt comment utiliser clock.
Bilou.