IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Commande au clavier


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 81
    Par défaut Commande au clavier
    Bonsoir,

    Je suis entrain de créer un projet, "Tron", un jeu video avec 2 motos, pour le moment, elles sont dirigé par le programme, j'aimerais maintenant créer une version où l'une des motos est dirigée par l'utilisateur. Il me faudrait donc une fonction de lecture au clavier, or je ne connais que "getchar" qui est bloquante.
    Quelqu'un pourrait il m'aider??

    PS: Je programme sous Windows avec le logiciel Code :: Blocks !!

    Merci d'avance!!

  2. #2
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 084
    Par défaut
    Il nous faudrait plus d'information que ca.

    Es tu en mode console ou fenetre ?
    Si c'est en mode fenetre, quelle librairie utilise tu ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 81
    Par défaut
    Je suis en mode console et mes bibliothèques sont:
    <stdlib.h>
    <stdio.h>
    <windows.h>
    <mmsystem.h>

  4. #4
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,

    Sous Windows, on peut récupérer l'état d'une touche ou du clavier, on peut utiliser : GetAsyncKeyState ou GetKeyboardState.

  5. #5
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Par défaut
    Bonsoir.

    Citation Envoyé par RoZyk Voir le message
    or je ne connais que "getchar" qui est bloquante.
    Tu voudrais quelque chose où l'on n'a pas besoin de valider par ENTER ? Si oui tu as getch (); sous Windows.

  6. #6
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Off-topic: Pourquoi les gens supposent-ils toujours que Tron==Light Cycle?
    Il y a eu des jeux de ce type avant, et le film ne se limite pas à ça...

    Mais pour répondre à ta question, tu as besoin de deux fonctions: kbhit() (préfixée d'un underscore sous Visual) et getch() (idem).
    L'emploi de kbhit() permettra à ton application de continuer à tourner même si aucune touche n'est pressée.

    Aussi, je conseille l'emploi de Sleep() avec une petite valeur dans ta boucle, ou bien ce sera injouable.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 81
    Par défaut
    Bonsoir,

    Off-topic: Pourquoi les gens supposent-ils toujours que Tron==Light Cycle?
    Il y a eu des jeux de ce type avant, et le film ne se limite pas à ça...
    C'était vraiment "Off-topic" je ne comprends pas pourquoi tu parles de ça d'ailleur...

    Peu importe!!

    Connais tu la bibliothèque pour kbhit(), car je l'ai déjà testé mais le compilateur ne la reconnaissait pas....

    Merci pour vos réponses!!

  8. #8
    Membre averti
    Homme Profil pro
    .
    Inscrit en
    Décembre 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Fidji

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Décembre 2009
    Messages : 35
    Par défaut
    Sans appuyer sur ENTER en mode console je ne vois que les Termcaps pour UNIX, mais sous windows aucune idee, il y a surrement une equivalence sous Win.

  9. #9
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Sous Visual, kbhit est inclus dans la libc (fichier d'en-tête: conio.h).
    Sous MinGW, il me semble qu'il faut télécharger une bibliothèque spécifique (conio2 ou pdcurses).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. Commander au clavier un dessin dans un canevas
    Par cal23 dans le forum Tkinter
    Réponses: 10
    Dernier message: 19/01/2015, 20h37
  2. Commande racourci clavier
    Par hakoko dans le forum VBScript
    Réponses: 5
    Dernier message: 03/06/2013, 22h16
  3. [XL-2007] commande par clavier
    Par tany2 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/07/2012, 18h50
  4. command Unix (+ clavier) sous perl
    Par goanes dans le forum Langage
    Réponses: 8
    Dernier message: 31/08/2007, 18h13
  5. [MFC] Envoi de commandes clavier
    Par Kevgeii dans le forum MFC
    Réponses: 2
    Dernier message: 07/01/2004, 15h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo