Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Utilisation des fleche pour un jeux graphique sous Linux Mandrake

8 réponses
Avatar
Martial
Bonjour a tous,
j'ai un mini projet en language C a faire (il me reste encore 15jour), je
l'ai fini mais voila j'aimerai l'ameliorer en utilisant les fleche du
clavier plutot que les touches I,J,K,L.
J'ai deja fais des test mais chaque fleche renvoi la valeur 0x1B, y a til
une solution?
Je dois utiliser la librairie GRAPHIC.h et sa comment GrGetChar()
Par avance Merci
Martial

8 réponses

Avatar
Paul Delannoy
Martial a écrit:
Bonjour a tous,
j'ai un mini projet en language C a faire (il me reste encore 15jour), je
l'ai fini mais voila j'aimerai l'ameliorer en utilisant les fleche du
clavier plutot que les touches I,J,K,L.
J'ai deja fais des test mais chaque fleche renvoi la valeur 0x1B, y a til
une solution?


0x1B c'est 16+11' soit le code de latouche Escape. Parce que les
'fléches' renvoient DEUX octets, tu ne vois que le premier. Je n'ai plus
en tête le code qui suit, mais lui désigne la touche. J'eqça

Avatar
Martial
Ah ben merci beaucoup, je v essayer de voir comment faire avec une autre
commande qui contien un buffer
Merci
Bonne soirée
MArtial


"Paul Delannoy" a écrit dans le message de news:

Martial a écrit:
Bonjour a tous,
j'ai un mini projet en language C a faire (il me reste encore 15jour),
je


l'ai fini mais voila j'aimerai l'ameliorer en utilisant les fleche du
clavier plutot que les touches I,J,K,L.
J'ai deja fais des test mais chaque fleche renvoi la valeur 0x1B, y a
til


une solution?


0x1B c'est 16+11' soit le code de latouche Escape. Parce que les
'fléches' renvoient DEUX octets, tu ne vois que le premier. Je n'ai plus
en tête le code qui suit, mais lui désigne la touche. J'eqça




Avatar
Pierre Maurette
"Martial" typa:

Ah ben merci beaucoup, je v essayer de voir comment faire avec une autre
commande qui contien un buffer
Merci
Bonne soirée
MArtial
Bonjour,

Je n'ai pas vu votre message original, donc désolé si je suis à coté
de la plaque.
Pour info, sous DOS/DOS-Windows et Borland TC (vieux projet) j'utilise
getch() de conio.h. Pas portable, mais ce n'était pas l'objectif, et
trop content que ça marche je n'ai pas essayé autre chose.

<proj.h>
#define UP_ARROWKEY 72
#define DOWN_ARROWKEY 80
#define LEFT_ARROWKEY 75
#define RIGHT_ARROWKEY 77
</proj.h>

<proj.c>
Key = getch();

switch (Key)
{
case 'o':
case 'O':
case 'y':
case 'Y':
retour = 1;
fini = 1;
break;

case 'n':
case 'N':
retour = 0;
fini = 1;
break;

case LEFTKEY:
retour = 0;
break;

case RIGHTKEY:
retour = 1;
break;
/* etc. */
</proj.c>
--
Pierre

Avatar
Martial
Bizare k'un seul GETCH() fonction moi on m'avez dis d'en mettre 2ala suite
pour enlever le 0x1b.
Bref avec cette fonction cela fontionne mais moi je dois travailler sous
Linux avec la commande GrGetChar() de graphic.h..
et la un que jen mette un ou 2 ça ne fontionne pas
Martial

"Pierre Maurette" a écrit dans le message de
news:
"Martial" typa:

Ah ben merci beaucoup, je v essayer de voir comment faire avec une autre
commande qui contien un buffer
Merci
Bonne soirée
MArtial
Bonjour,

Je n'ai pas vu votre message original, donc désolé si je suis à coté
de la plaque.
Pour info, sous DOS/DOS-Windows et Borland TC (vieux projet) j'utilise
getch() de conio.h. Pas portable, mais ce n'était pas l'objectif, et
trop content que ça marche je n'ai pas essayé autre chose.

<proj.h>
#define UP_ARROWKEY 72
#define DOWN_ARROWKEY 80
#define LEFT_ARROWKEY 75
#define RIGHT_ARROWKEY 77
</proj.h>

<proj.c>
Key = getch();

switch (Key)
{
case 'o':
case 'O':
case 'y':
case 'Y':
retour = 1;
fini = 1;
break;

case 'n':
case 'N':
retour = 0;
fini = 1;
break;

case LEFTKEY:
retour = 0;
break;

case RIGHTKEY:
retour = 1;
break;
/* etc. */
</proj.c>
--
Pierre



Avatar
Florent 'flure' C.
Le Sun, 09 May 2004 16:14:10 +0200, Martial a écrit :

Bizare k'un seul GETCH() fonction moi on m'avez dis d'en mettre 2ala suite
pour enlever le 0x1b.
Bref avec cette fonction cela fontionne mais moi je dois travailler sous
Linux avec la commande GrGetChar() de graphic.h..
et la un que jen mette un ou 2 ça ne fontionne pas
Martial


Mais pourquoi voulez-vous réinventer la roue ? Il y a des tonnes de
librairies qui font ça très bien ET sont portables, notamment SDL ...

Ah et aussi, sur un newsgroup, on cite SOUS le message d'origine, pas
au-dessus.


--
Florent "flure" C.
Décrypter l'@ pour répondre
Coders don't die, they just JMP without RET !

Avatar
Florent 'flure' C.
Oups, désolé je n'avais pas vu que c'était cruciposté ...

--
Florent "flure" C.
Décrypter l'@ pour répondre
Coders don't die, they just JMP without RET !
Avatar
Martial
La librairie es imposé et j'ai envi d'aller plus loin que les autres lol c
tout
MArtial


"Florent 'flure' C." a écrit dans le
message de news:

Bizare k'un seul GETCH() fonction moi on m'avez dis d'en mettre 2ala
suite


pour enlever le 0x1b.
Bref avec cette fonction cela fontionne mais moi je dois travailler sous
Linux avec la commande GrGetChar() de graphic.h..
et la un que jen mette un ou 2 ça ne fontionne pas
Martial


Mais pourquoi voulez-vous réinventer la roue ? Il y a des tonnes de
librairies qui font ça très bien ET sont portables, notamment SDL ...

Ah et aussi, sur un newsgroup, on cite SOUS le message d'origine, pas
au-dessus.


--
Florent "flure" C.
Décrypter l'@ pour répondre
Coders don't die, they just JMP without RET !




Avatar
Corto
On Mon, 10 May 2004 20:01:22 +0200, "Martial" wrote:

La librairie es imposé et j'ai envi d'aller plus loin que les autres lol c
tout


Et tu ne réponds pas correctement, c'est à dire après le texte auquel tu
réponds, comme ça t'est justement expliqué dans le post auquel tu
réponds.
C'est juste une question de lisibilité et de bon sens.