Vous n'êtes pas identifié.
Et oui encore un nouveau sujet!
Je viens de remarquer que les codes donnés par getch() correspondent parfois a plusieurs touches a la fois... :evil:
Comment faut-il faire pour différencier la touche alpha et la touche 8, ou la touche haut et la touche H par exemple? :?
Hors ligne
Laisse tomber le getch !! Ya des fonxions largement plus performant et moins pénible a utiliser....
Ton problème est qu'en fait le code n'est pa le meme mais tu n'accède qu'a une partie du code de la touche....Dites moi si je me trompe.....
Hors ligne
OK, pas de probleme, mais alors j'utilise quoi a la place? :idea:
Hors ligne
c facile
utilise bioskey() ou alors des fonctions de touches multiples
Hors ligne
Bon C@siomax est d'accord pour que je pique les fonctions de Bomberman, touches multiples donc, mais bioskey() je connais po ca s'utilise comment?
Hors ligne
C'est exactement comme getch()...
Sauf que il faut mettre bioskey(1); et la ca attends qu'une touche soit renvoyée...Et les valeurs retournées sont aussi un peu plus grande:
EXE : 7168
ESC : 256
F1 : 15104 .... etc
donc en gros :
#include<conio.h> main() { int key; do{ key=bioskey(1); }while (key!=7168); // tant que EXE n'est pas appuyé return 0;}
C tout
Hors ligne
Bon C@siomax est d'accord pour que je pique les fonctions de Bomberman, touches multiples donc, mais bioskey() je connais po ca s'utilise comment?![]()
ARFFF
Il peu etre d' accord, puisk c les mienne !!!!
enfin je t' autorise a les prendres, puisk de tte manière, c pu un secret !!!
Hors ligne
Tiens il mets dans ses sources que c'est celles de Whyp...
J'y comprends plus rien moi :fou:
Hors ligne
je pense ke c pluto cell de whyp xth a du les améliorer..... sinon ta ca (pa 2 moi) ke j'utilise c pt etre cell que t'as.... :
char getkb(void) { unsigned char key; asm push es;asm push di;asm push ax; asm mov ax,0x40; asm mov es,ax; asm mov di,0xAF; asm mov al,es:[di]; asm mov key,al; asm pop ax;asm pop di;asm pop es; return key; }
Hors ligne
Nan.
Ds ces sources, ya un fichier include batisé touches.h ou kekchose com ac
Et mes fonctions sont dedans !!
Hors ligne
Ouaip c'est celle de scorch ca
Mais c'est bon je m'en sors avec bioskey()
Marchi
Hors ligne
c po le + rapide ms bon si tu fais po de jeu.....
Hors ligne
Probleme: quand j'utilise bioskey ca garde en "mémoire" la derniere touche enfoncée et et donc on peut plus taper une nouvelle touche: c'est comme si on tapait toujours sur la meme!
je pense qu'il faut vider une sorte de buffer ou qq chose comme ca: comment faire?
Hors ligne
Ben dans ce cas utilise les fonctions de touches multiples si tu veux pas que ca sauvegarde les touches!!!
Et pour vider le buffer, utilise ca:
pokeb(0x41,0xB,peekb(0x41,0xD));
Hors ligne
Laisse tomber le bioskey utilise ce ke je T donné.....
Hors ligne
C'est ce que j'ai fait, et ca marche au poil
Hors ligne
Et ben voila !! Tant mieux......
Hors ligne