| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 
 | #include<stdio.h>
#include<SDL.h>
typedef struct objet objet;
typedef struct dipole dipole;
struct objet
{SDL_Surface *img;
SDL_Rect pos;};
struct dipole
{objet res,bo,co,io,ife;};
 
void pause(SDL_Event ,objet princ,objet fond,dipole dipole);
void deplacer(objet fond,objet dip,objet princ,SDL_Event event );
void deplacer(objet fond,objet dip,objet princ,SDL_Event event)
{
	do{
		SDL_BlitSurface(fond.img,NULL,princ.img,&fond.pos);
		dip.pos.x=event.motion.x;
				dip.pos.y=event.motion.y;
				SDL_BlitSurface(dip.img,NULL,princ.img,&dip.pos);
				SDL_Flip(princ.img);
				SDL_FreeSurface(princ.img);
				SDL_WaitEvent(&event);
			}
				while(event.type!=SDL_MOUSEBUTTONUP || event.button.x<200 || event.button.x>280 || event.button.y<60 || event.button.y>100);
				SDL_BlitSurface(dip.img,NULL,princ.img,&dip.pos);
				SDL_BlitSurface(fond.img,NULL,princ.img,&dip.pos);
				dip.pos.x=198;
				dip.pos.y=59;
				SDL_BlitSurface(dip.img,NULL,princ.img,&dip.pos);
				SDL_Flip(princ.img);
				SDL_SaveBMP(princ.img,"d:/fil/fond_temp.bmp");
 
		}
void pause(SDL_Event event,objet princ,objet fond,dipole dipole)
{
	switch (event.type)
	{
	case SDL_MOUSEBUTTONUP:
		if(event.button.x>670 && event.button.x<700)
		{ if(event.button.y>60 && event.button.y<80)
			deplacer(fond,dipole.res,princ,event);
          if(event.button.y>80 && event.button.y<100)
			deplacer(fond,dipole.bo,princ,event);
		  if(event.button.y>100 && event.button.y<120)
			deplacer(fond,dipole.co,princ,event);
		  if(event.button.y>120 && event.button.y<140)
			deplacer(fond,dipole.io,princ,event);
		  if(event.button.y>140 && event.button.y<160)
			deplacer(fond,dipole.ife,princ,event);
	}
	} | 
Partager