Partage
  • Partager sur Facebook
  • Partager sur Twitter

Lecture d'entrées dans une console

    23 décembre 2021 à 14:03:16

    Bonjour, 

    Je suis entrain de reproduire un Space Invader et j'aimerai savoir la meilleure des manières de récupérer les entrées (pour déplacer son personnage et tirer) sans devoir cliquer sur entrer à chaque fois.

    -
    Edité par XxCommandoSniperxXX 23 décembre 2021 à 14:07:03

    • Partager sur Facebook
    • Partager sur Twitter
      23 décembre 2021 à 15:29:28

      Bonjour,

      La fonction (non standard) getch() / _getch() peut-être. Tu ne donnes pas assez d'informations ...

      #include <stdio.h>
      #include <conio.h>
      
      #define KEY_ESCAPE 27
      
      #define KEY_EXTENDED_1 0
      #define KEY_EXTENDED_2 224
      
      #define KEY_ARROW_UP    72
      #define KEY_ARROW_DOWN  80
      #define KEY_ARROW_LEFT  75
      #define KEY_ARROW_RIGHT 77
      
      int main(void)
      {
        int c;
      
        while((c = _getch()) != KEY_ESCAPE)
        {
          if(c == KEY_EXTENDED_1 || c == KEY_EXTENDED_2)
          {
            switch(_getch())
            {
              case KEY_ARROW_UP:
                puts("UP");
                break;
      
              case KEY_ARROW_DOWN:
                puts("DOWN");
                break;
      
              case KEY_ARROW_LEFT:
                puts("LEFT");
                break;
      
              case KEY_ARROW_RIGHT:
                puts("RIGHT");
                break;
            }
          }
        }
      }
      • Partager sur Facebook
      • Partager sur Twitter
        23 décembre 2021 à 15:35:06

        Pour faire un jeu en console tu n'as pas d'autre choix qu'utiliser une bibliothèque native ou externe, le C n'as pas ce qu'il faut. Usuellement on conseille ncurses qui a l'avantage d'offrir tout ce qu'il faut. Cependant c'est pas toujours facile à utiliser ni agréable. Pour windows il existe une implémentation libre pdcurses.
        • Partager sur Facebook
        • Partager sur Twitter

        git is great because Linus did it, mercurial is better because he didn't.

          23 décembre 2021 à 15:44:50

          Merci pour ton aide mais j'ai d'autres questions. Déjà, à quoi servent les valeurs que tu as définis pour chaque flèches ? Ensuite, la bibliothèque conio.h n'est pas une bibliothèque standard; comment l'installer ?


          magma a écrit:

          #include <stdio.h>
          #include <conio.h>
          
          #define KEY_ESCAPE 27
          
          #define KEY_EXTENDED_1 0
          #define KEY_EXTENDED_2 224
          
          #define KEY_ARROW_UP    72
          #define KEY_ARROW_DOWN  80
          #define KEY_ARROW_LEFT  75
          #define KEY_ARROW_RIGHT 77
          
          • Partager sur Facebook
          • Partager sur Twitter
            23 décembre 2021 à 15:46:21

            C'est de base pour windows et uniquement pour windows.
            • Partager sur Facebook
            • Partager sur Twitter

            git is great because Linus did it, mercurial is better because he didn't.

              23 décembre 2021 à 15:47:52

              markand a écrit:

              Pour faire un jeu en console tu n'as pas d'autre choix qu'utiliser une bibliothèque native ou externe, le C n'as pas ce qu'il faut. Usuellement on conseille ncurses qui a l'avantage d'offrir tout ce qu'il faut. Cependant c'est pas toujours facile à utiliser ni agréable. Pour windows il existe une implémentation libre pdcurses.


              Il est plus préférable d'utiliser conio.h ou pdcurses? J'ai lu sur un forum que pdcurses reprends la plupart des fonctionnalités de conio.h mais j'avouerai que je ne comprends pas vraiment les différences et laquelle est la plus adaptée pour un jeu console sur windows.

              markand a écrit:

              C'est de base pour windows et uniquement pour windows.

              C'est à dire?

              -
              Edité par XxCommandoSniperxXX 23 décembre 2021 à 15:49:42

              • Partager sur Facebook
              • Partager sur Twitter
                23 décembre 2021 à 15:49:14

                Le code que j'ai posté n'est qu'une piste à explorer. Maintenant c'est à toi de te documenter ...
                • Partager sur Facebook
                • Partager sur Twitter
                  23 décembre 2021 à 19:42:04

                  XxCommandoSniperxXX a écrit:

                  markand a écrit:

                  C'est de base pour windows et uniquement pour windows.

                  C'est à dire?

                  Eh ben c'est uniquement pour Windows. Donc tu ne pourras pas l'utiliser si ton ordinateur est piloté par Multics, Unix, MVS, z∕OS, VAX/VMS, OS/2, CP/M, AmigaOS, Linux ou MacOS (entre autres), mais tu pourras l'utiliser si ton ordinateur est piloté par Windows. (Pour MSDOS je ne sais pas.)

                  C'est quoi le système d'exploitation de ton ordinateur ?

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Lecture d'entrées dans une console

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown