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 :

Événements en C


Sujet :

C

  1. #1
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 23
    Par défaut Événements en C
    Salut tout le monde,

    J'essaye de fare le fameux jeux du serpent ( ou snake ) en C, mais voilà que je suis arrivé a la conclusion qu'il me faudra deux tâches parallèles:

    - L'une pour faire bouger le serpent constantment
    - L'autre à l'écoute des touches que le joueur prèssera (pour le faire changer de direction)

    Je suis dans le bon chemin ? Est-ce possible de faire de faire de la programattion orientée à événements en C ( comme celle utilisé avec GTK,OPENGL... et les fonctions callback) ? Si oui, comment.

    Je n'arrive à trouver aucune information sur le net.

    SVP donnezmoi une piste :-) Merci beaucoup

  2. #2
    Membre émérite
    Profil pro
    Eleveur de cornichons
    Inscrit en
    Juin 2002
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Eleveur de cornichons
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 074
    Par défaut
    Salut

    J'ai déjà fait le jeu Snake mais sans utiliser les threads. Dans mon cas, je faisais avancer le serpent et je crois que l'appui sur une touche du clavier l'emportait sur l'avancée seule.
    Quoiqu'il en soit, si tu veux faire les choses propres, ce sont les threads qui s'occupent de faire des tâches en parallèle : http://emmanuel-delahaye.developpez.com/pthreads.htm

    Nas'

  3. #3
    Membre émérite
    Avatar de Elijha
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2003
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Avril 2003
    Messages : 314
    Par défaut
    Salut,

    Pour cela, je ne pense pas que tu ais besoin d'un thread. Il suffit d'utiliser la fonction de test de présence touche clavier kbhit(), tout en continuant à faire avancer le serpent.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    do
      {
     
      /* Instructions de déplacement du serpent */
     
      if(kbhit())
        {
        touche = getch() ;
     
        /* Gestion des touches */
     
        }
      }
    while(touche!=0x1B) ;  // Sortie par ESC
    Il te sufffit de gérer les touches taper par le joueur, et d'effectuer les actions de changement de direction du serpent (flêches haut/bas/gauche/droite).

  4. #4
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 23
    Par défaut
    Oui c'est bien ce que lon m'a proposé, mais j'aimerai bien faire qqch de nouveau, sinon pour moi ça perd tout interêt ( apprendre ). Pour l'instant je vais plonger sur les pthreads mais il me semble que ça n'est pas exactement ça qu'il me faut.
    Je voudrai qqch du genre événements , ou events en anglais.

    Merci quandmême pour vos réponses !

  5. #5
    Membre éprouvé
    Avatar de granquet
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    1 201
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 201
    Par défaut
    http://c.developpez.com/faq/c/?page=clavier_ecran

    devrais pouvoir repondre a pas mal de questions.

  6. #6
    Membre averti
    Inscrit en
    Décembre 2004
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 23
    Par défaut
    Ah génial, ça me servira sûrement.

    D'autre part, j'ai pensé de le faire en ncurses ( sur gnu/linux ), mais bon déjà faudra que j'assimile les pthreads pour après me lançer dans d'autres trucs ;-)

Discussions similaires

  1. Pas d'événement OnClose quand on arrête W2K
    Par Altau dans le forum C++Builder
    Réponses: 9
    Dernier message: 26/01/2009, 18h36
  2. Réponses: 5
    Dernier message: 09/01/2003, 11h55
  3. exploiter un évènement d'un sous composant dans un
    Par bjl dans le forum Composants VCL
    Réponses: 2
    Dernier message: 20/12/2002, 16h44
  4. Modification de l'évènement OnClick
    Par MrJéjé dans le forum C++Builder
    Réponses: 9
    Dernier message: 22/08/2002, 12h52
  5. Redéfinir l'événement OnExit de mon composant TEditFloat
    Par Seb des Monts dans le forum C++Builder
    Réponses: 5
    Dernier message: 18/06/2002, 16h10

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