[C] Getch pendant 0.5sec
Résolu
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
-
ContributeurSalut,
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.
-
ContributeurPas 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.