
/*************************************************************
Utilisation du clavier : buffer = comme en console avec getch
*************************************************************/
#include <allegro.h>
int main(int argc, char *argv[])
{
int touche;
char carac;
int fin;
int poscarac;
srand(time(NULL));
allegro_init();
// pour disposer du clavier
install_keyboard();
set_color_depth(desktop_color_depth());
if (set_gfx_mode(GFX_AUTODETECT_WINDOWED,800,600,0,0)!=0)
{
allegro_message("prb gfx mode");
allegro_exit();
exit(EXIT_FAILURE);
}
// A compléter si l'objectif est de saisir une chaine
// (enregistrer les caractères, position curseur mobile, effacer...)
poscarac=0;
fin=0;
while (!fin)
{
// keypressed() : équivalent allegro du kbhit()
if (keypressed())
{
// récupérer la touche avec readkey() : équivalent allegro du getch()
touche=readkey();
// a partir de l'info de touche on obtient le caractère en castant en char
carac=(char)touche;
// afficher le caractère toujours à la même position
textprintf_ex(screen,font,400,60,makecol(255,255,255),makecol(0,0,0),"%c",carac);
// afficher le caractère à une position x croissante
textprintf_ex(screen,font,400+poscarac,100,makecol(255,255,255),makecol(0,0,0),"%c",carac);
poscarac=poscarac+8;
// Terminer le programme à la validation...
// le retour chariot n'est pas \n mais \r
if (carac=='\r')
fin=1;
}
}
return 0;
}
END_OF_MAIN();