elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Leer por teclado en allegro 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.  
2  Programación / Programación C/C++ / String aleatorio y sin repeticiones en: 22 Octubre 2016, 19:54 pm
Hola, soy nuevo en este foro, espero que puedan ayudarme.
Mi pregunta es cómo hacer para generar cadenas de caracteres de manera aleatoria pero sin que se repita.
La cuestión es que estoy haciendo un juego de trivia pero cuando ingreso el jugador y le hago las pregunta, siempre y cuando responda bien, sigue respondiendo pero a veces vuelve a repetir la pregunta anterior.
Aquí les dejo un pedazo de código con el struct para que vean que es lo que les quiero decir:
Código
  1. struct pregunta{
  2.     char pregunta[100];
  3.     char opciones[5][40];
  4.     int correcta;
  5. };
  6. void jugar(){
  7.     pregunta A[21];
  8.     FILE *pa;
  9.     int n=0;
  10.     if((pa=fopen("ciencia.dat","rb"))==NULL){
  11.          cout<<"Error al abrir el archivo";
  12.          return;
  13.     }
  14.     char jugador[40];
  15.     int lvl=0,vida=1,rand_preg=0,rand_cat=0,respuesta=0;
  16.     fflush(stdin);
  17.     cout<<"\nNombre del participante: ";gets(jugador);
  18.     while(vida!=0){
  19.          srand (time(NULL));
  20.          rand_cat = rand() % 5;
  21.          srand (time(NULL));
  22.          if(rand_cat==1){
  23.               rand_preg=rand() % 20;
  24.               cout<<"\nPregunta:"<<A[rand_preg].pregunta;
  25.               cout<<"\nOpcion 1:"<<A[rand_preg].opciones[0];
  26.               cout<<"\nOpcion 2:"<<A[rand_preg].opciones[1];
  27.               cout<<"\nOpcion 3:"<<A[rand_preg].opciones[2];
  28.               cout<<"\nOpcion 4:"<<A[rand_preg].opciones[3];
  29.               cout<<"\nRESPUESTAAAAA:";cin>>respuesta;
  30.               if(respuesta==A[rand_preg].correcta){
  31.                    lvl++;
  32.               }
  33.               else{
  34.                    cout<<"\nPerdiste";
  35.                    vida=0;
  36.               }
  37.         }
  38.     }fclose(pa);
  39. }
Desde ya muchas gracias. ;D
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines