Je suis en train d'écrire un programme en C++ très similaire au programme classique "snake" avec quelques changements. Je l'écris de sorte qu'il mettra à jour l'écran cinq fois par seconde, basé sur ctime, peut-être plus s'il peut être manipulé. Une chose que je voudrais faire est de faire en sorte que le programme ait une variable dans le fichier .h "currkeypressed". Cette variable contiendra la clé que l'utilisateur maintient actuellement et la tête du serpent ira dans cette direction. Chaque nœud dans le serpent sera un objet séparé de sorte que le currkeypressed affectera seulement la tête. Les données directionnelles et de localisation seront transmises par le serpent d'un nœud à l'autre à chaque mise à jour.Comment accepter les saisies au clavier en direct?
Ma question est: comment puis-je obtenir le programme de garder ces données en permanence, plutôt que de mettre à jour seulement avec cin
lorsque la touche est enfoncée ou à un certain intervalle? Je sais que je peux accepter la valeur ASCII pour les touches fléchées dans une sorte de boucle for, mais cela ne semble pas fonctionner si la touche est maintenue enfoncée et si la boucle est très longue, elle peut manquer une pression. Est-ce que quelqu'un sait comment faire cela?
EDIT: J'utilise un système d'exploitation Linux, Ubuntu pour être plus précis
Je suis assez sûr que usec signifie microseconde (pas milliseconde). Je dis cela à cause de la page de manuel pour le sommeil. –
erreur: 'maxfd' non déclaré (première utilisation dans cette fonction) –