Equivalents de keypressed et delay en C++
bonjour,
j'ai réalisé un tetris en pascal il y a quelques temps, et je voudrais le passer en C++ (ce sont les langages que l'on utilise dans mon BTS). Pour les choses de base comme les boucles et les conditions je n'ai pas eu de problèmes, mais il y a certaines commandes pascal dont je ne connais pas l'équivalent en C++ (s'ils existent).
Pour la gestion des touches je procédais ainsi : (en pascal)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
If keypressed then
begin
tch:=readkey;
If tch=#52 then (*appui sur flèche gauche*)
begin
....
end
; (*end if*)
If tch=#54 then (*appui sur flèche droite*)
begin
.....
end
; (*end if*)
If tch=#53 then (*appui sur 5*)
begin
....
end
; (*end if*)
end
; (*end if*) |
pour le readkey si j'ai bien compris l'équivalent est getch et pour mes conditions je n'ai qu'a enlever les dièses ? par exemple : (tch est de type char)
Code:
1 2 3 4 5 6 7 8 9
|
tch=getch();
if tch==52 { /*appui sur flèche gauche*/
....
};
if tch==54 { /*appui sur flèche droite*/
....
}; |
Le problème vient surtout du keypressed, en effet je vérifie quelle touche a été pressée et j'agit en conséquence UNIQUEMENT si une touche a été pressée, sinon dans mon tetris le jeu attendrais que je presse une touche pour continuer...
Y a-t-il une équivalent de keypressed en C++ qui me permettrai de lire le code de la touche uniquement quand une touche est pressée ? ou dois-je repenser mon système de gestion des touches ?
J'utilisais également la commande delay en pascal pour temporiser ma boucle, y a-t-il un équivalent ? (procédure qui attend tant de milisecondes)
merci d'avance