Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Racchetta in Allegro - racc.cpp

racc.cpp

Caricato da: Carmine
Scarica il programma completo

  1. #include "allegro.h"
  2. #include <stdio.h>
  3. BITMAP *buf,*asc,*pall,*sfondo,*scroll;
  4. SAMPLE *suono;
  5. PALETTE colori;
  6. int x,y,x1,y1,v,k,z=3,c=-5,cont=3;
  7. int score=0;
  8. bool a=false;
  9.  
  10. void doppiobuffering()
  11. {
  12.     vsync();
  13.     blit(buf,screen,0,0,0,0,1280,1024);
  14.     clear(buf);
  15. }
  16.  
  17.  
  18. void disegno()
  19. {
  20.     if(mouse_x<=1190) draw_sprite(buf, asc, mouse_x, y);
  21.     else draw_sprite(buf, asc, 1190, y);
  22.     draw_sprite(buf, pall, x1, y1);
  23. }
  24.  
  25. void mov_pall()
  26. {
  27.         if(x1>=1275) v=-9;
  28.         if(x1<=1) v=+9;
  29.         if(y1>=1020)k=-9;
  30.         if(y1<=1) k=+9;
  31.         x1+=v;
  32.         y1+=k;
  33. }
  34.  
  35. int main()
  36. {
  37.     allegro_init();
  38.     install_mouse();
  39.     install_keyboard();
  40.     set_color_depth(32);
  41.     set_gfx_mode( GFX_AUTODETECT,1280,1024, 0, 0);
  42.     install_sound(DIGI_AUTODETECT, MIDI_AUTODETECT, 0);
  43.     buf = create_bitmap(1280,1024);
  44.     asc = load_bmp("immagine.bmp",colori);
  45.     pall = load_bmp("pallina.bmp",colori);
  46.     suono = load_sample("Bleep.wav");
  47.     set_volume(255,255);
  48.     x=316; y=1005;
  49.     x1=1; y1=1;
  50.    
  51.     while (!key[KEY_ESC])
  52.     {
  53.         doppiobuffering();
  54.         textprintf_ex( buf , font , 20, 1, makecol (0, 100, 200), -1, "Life: %d", cont);
  55.         textprintf_ex( buf , font , 100, 1, makecol (0, 100, 200), -1, "Score: %d", score);
  56.         disegno();
  57.         mov_pall();
  58.        
  59.         if(y1>1020)
  60.         {
  61.             cont--;
  62.             x1=1; y1=1;
  63.             rest(600);
  64.         }
  65.         if((y1>=990 && y1<1005) && (x1<=mouse_x+91 && x1 >=mouse_x))
  66.         {
  67.             k*=-1; score+=10;
  68.             play_sample(suono, 255,128,1000, FALSE);
  69.         }
  70.         if(cont==-1)
  71.         {
  72.             rest(1000);
  73.             break;
  74.         }
  75.     }
  76.     destroy_bitmap(buf);
  77.     destroy_bitmap(asc);
  78.     destroy_bitmap(pall);
  79.     return 0;
  80. }
  81. END_OF_MAIN ();