Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <allegro.h>
- #include <time.h>
- typedef struct ennemi
- {
- int x;
- int y;
- int ty;
- int tx;
- int dy;
- }t_ennemi;
- BITMAP * load_bitmap_check(char *nomImage)
- {
- BITMAP *bmp;
- bmp=load_bitmap(nomImage,NULL);
- if (!bmp)
- {
- allegro_message("pas pu trouver %s",nomImage);
- exit(EXIT_FAILURE);
- }
- return bmp;
- }
- int main()
- {
- int i=0, j=0, k=0, l=0, m=0, n=0;
- int booleen, cpt=0;
- BITMAP *page;
- BITMAP *decor;
- BITMAP *ennemi;
- t_ennemi cible[10];
- srand(time(NULL));
- int screenx;
- int depscreenx=2;
- for(i=0; i<6; i++)
- {
- cible[i].x=(rand()%(((2000)-1400)+1)+1400)+i*200;
- cible[i].y=rand()%500;
- }
- for(k=6; k<10; k++)
- {
- cible[k].x=(rand()%(((2000)-1400)+1)+1400)+k*150;
- cible[k].y=rand()%500;
- }
- allegro_init();
- install_keyboard();
- install_mouse();
- set_color_depth(desktop_color_depth());
- if (set_gfx_mode(GFX_AUTODETECT_WINDOWED,1300,700,0,0)!=0)
- {
- allegro_message("prb gfx mode");
- allegro_exit();
- exit(EXIT_FAILURE);
- }
- show_mouse(screen);
- page=create_bitmap(SCREEN_W,SCREEN_H);
- clear_bitmap(page);
- decor=load_bitmap_check("images/fond2.bmp");
- ennemi=load_bitmap_check("images/mangemort2.bmp");
- for(m=0; m<10; m++)
- {
- cible[m].tx = ennemi->w;
- cible[m].ty = ennemi->h;
- }
- while (!key[KEY_ESC])
- {
- booleen=0;
- screenx=screenx+depscreenx;
- if(screenx>=decor->w)
- screenx=0;
- if(screenx+SCREEN_W<decor->w)
- blit(decor, page, screenx, 0,0,0, SCREEN_W, SCREEN_H);
- else
- {
- blit(decor,page,screenx,0,0,0,decor->w, SCREEN_H);
- blit(decor, page, 0,0,decor->w-screenx,0,SCREEN_W-(decor->w-screenx), SCREEN_H);
- }
- for(j=0;j<6;j++)
- {
- draw_sprite(page, ennemi, cible[j].x, cible[j].y);
- if(cible[j].x<-170)
- {
- cible[j].x=SCREEN_W+150;
- }
- cible[j].x=cible[j].x-4;
- }
- for(l=6;l<10;l++)
- {
- if(rand()%20==0)
- {
- cible[l].dy =rand()%11-5;
- }
- draw_sprite(page, ennemi, cible[l].x, cible[l].y);
- if(cible[l].x<-170)
- {
- cible[l].x=SCREEN_W+150;
- }
- if((cible[l].y<0 && cible[l].dy<0)||(cible[l].y + cible[l].ty>SCREEN_H && cible[l].dy>0))
- cible[l].dy=-cible[l].dy;
- cible[l].x=cible[l].x-4;
- cible[l].y=cible[l].y+cible[l].dy;
- }
- masked_blit(ennemi, page, 0,0,-200,0, SCREEN_W, SCREEN_H);
- blit(page,screen,0,0,0,0,SCREEN_W,SCREEN_H);
- vsync();
- }
- return 0;
- }
- END_OF_MAIN();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement