Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Calvin11 en 31 Octubre 2016, 03:24 am



Título: Leer por teclado en allegro
Publicado por: Calvin11 en 31 Octubre 2016, 03:24 am
Quisiera saber como leer por teclado en allegro. Estoy haciendo un juego de trivia y necesito ingresar el nombre del jugador pero no hay forma de que me salga.
Esto es lo que encontre pero no funciona:
Código
  1. char* recibir_cadena(int x,int y,int color, int max)
  2. {
  3. char lt
  4. do
  5. {
  6. lt=readkey();
  7. if( lt>=’a’ && lt<=’z’)
  8. {
  9. textprintf(screen,font,x+12*i,y,color,”%c”,lt);
  10. cadena[i]=lt;
  11. cadena[i+1]=’\0;
  12. i++;
  13. }
  14. }while( lt!=13 && i<max );
  15. return cadena;
  16. }
  17.  
Pero no entiendo como aplicarlo en este pedazo de codigo del juego:
Código
  1. void nombre(){
  2.     int band1=0,x,y,color,maxi=40;
  3.     char letra, letras [80], nom [40];
  4.     BITMAP *buffer = create_bitmap(800,480);
  5.     BITMAP *nombre1 = load_bitmap("NOMBRE1.bmp",NULL);
  6.     BITMAP *nombre2 = load_bitmap("NOMBRE2.bmp",NULL);
  7.     BITMAP *cursor = load_bitmap("cursor.bmp",NULL);
  8.     while(band1!=1){
  9.          //Esto es para cuando el cursor apunte en el NOMBRE2.bmp
  10.          if(mouse_x > 20 && mouse_x < 70 && mouse_y > 30 && mouse_y < 70){
  11.               blit(nombre2,buffer,0,0,0,0,800,480);
  12.               if(mouse_b & 1){
  13.                    band1=1;
  14.               }
  15.          }
  16.          else{
  17.               //Esto es para cuando el cursor apunte en el NOMBRE1.bmp
  18.               blit(nombre1,buffer,0,0,0,0,800,480);
  19.          }
  20.  
  21.  
  22.          //Esto es para que aparezca el mouse en pantalla en cualquiera de las situaciones de NOMBRE
  23.          masked_blit(cursor,buffer,0,0,mouse_x,mouse_y,32,32);
  24.          blit(buffer,screen,0,0,0,0,800,480);
  25.     }
  26.  
  27. }
  28.