Ecrire un
programme qui permet de tracer la courbe d’une fonction donnée, le programme doit donner une liste de choix
(sin(x) ,log(x) , exp(x) ……) et selon ce choix on trace la courbe représentatif
de la fonction sélectionner. Pour réaliser ce projet on doit utiliser la bibliotheque graphique SDL.
SDL : Simple DirectMedia Layer est une bibliothèque très utilisée dans le monde de la création d'applications multimédias en deux dimensions comme les jeux video, les démos ghraphiques, les émulateurs, etc. Sa simplicité, sa flexibilité, sa portabilité et surtout sa licence GNU LGPL contribuent à son grand succès. Elle est de plus considérée comme un outil suffisamment simple, et est souvent conseillée aux programmeurs débutants pour commencer dans le monde de la programmation multimédia.
Cette bibliothèque se retrouve sous de nombreux systèmes d'exploitation, comme Linux, Windows, Windows CE, BeOS, Mac OS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, et QNX. Elle fonctionne aussi sous quelques systèmes embarqués, par exemple des consoles de jeu portable. Elle est sous licence GNU LGPL version 2.
- Capture d’écran :
Programme en C :
#include <stdlib.h>
#include <stdio.h>
#include <SDL/SDL.h>
#include <math.h>
int
main(int argc, char *argv[])
{
int continuer = 1,p,a,t;
SDL_Event event;
SDL_Surface *ecran = NULL, *rectangle = NULL, *imageDeFond1 =
NULL,*imageDeFond2 = NULL,*imageDeFond3 = NULL,*imageDeFond4 =
NULL,*imageDeFond5 = NULL,*imageDeFond6 = NULL,*imageDeFond7 = NULL;
SDL_Rect
position,positionFond1,positionFond2,positionFond3,positionFond4,positionFond5,
positionFond6,positionFond7;
SDL_Init(SDL_INIT_VIDEO);
SDL_WM_SetIcon(SDL_LoadBMP("sdl_icone.bmp"),
NULL);
ecran =
SDL_SetVideoMode(1000, 600, 32, SDL_HWSURFACE| SDL_DOUBLEBUF);// definit la
taille de la fenetre (largeur x hauteur)
rectangle =
SDL_CreateRGBSurface(SDL_HWSURFACE, 1,2, 32, 0, 0, 0, 0); // Allocation de la
surface (taille du point)
SDL_WM_SetCaption("tracage de courbe
", NULL);// met le nom de la fenetre
positionFond1.x = 385;
positionFond1.y = 0;
positionFond2.x = 399;
positionFond2.y = 100;
positionFond3.x = 399;
positionFond3.y =200;
positionFond4.x = 399;
positionFond4.y = 300;
positionFond5.x = 399;
positionFond5.y = 400;
positionFond6.x = 399;
positionFond6.y = 500;
positionFond7.x = 0;
positionFond7.y = 0;
imageDeFond7
= SDL_LoadBMP("aa.bmp");
SDL_BlitSurface(imageDeFond7, NULL, ecran, &positionFond7);
imageDeFond1 = SDL_LoadBMP("menu.bmp");
SDL_BlitSurface(imageDeFond1, NULL, ecran, &positionFond1);
imageDeFond2 = SDL_LoadBMP("sin.bmp");
SDL_SetAlpha(imageDeFond2,
SDL_SRCALPHA,220);
SDL_BlitSurface(imageDeFond2, NULL, ecran, &positionFond2);
imageDeFond3 = SDL_LoadBMP("cos.bmp");
SDL_SetAlpha(imageDeFond3, SDL_SRCALPHA, 220);
SDL_BlitSurface(imageDeFond3, NULL, ecran, &positionFond3);
imageDeFond4 = SDL_LoadBMP("exp.bmp");
SDL_SetAlpha(imageDeFond4, SDL_SRCALPHA, 220);
SDL_BlitSurface(imageDeFond4, NULL, ecran, &positionFond4);
imageDeFond5 = SDL_LoadBMP("log.bmp");
SDL_SetAlpha(imageDeFond5, SDL_SRCALPHA, 220);
SDL_BlitSurface(imageDeFond5, NULL, ecran, &positionFond5);
imageDeFond6 = SDL_LoadBMP("quitter.bmp");
SDL_SetAlpha(imageDeFond6, SDL_SRCALPHA, 220);
SDL_BlitSurface(imageDeFond6,
NULL, ecran, &positionFond6);
SDL_Flip(ecran); // Mise à jour de l'écran
while (continuer)
{
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_QUIT:
continuer = 0;
case SDL_MOUSEMOTION:
if(event.motion.x>399 &&event.motion.x<601
&&event.motion.y>110 && event.motion.y<188)
{
SDL_ShowCursor(SDL_ENABLE);
imageDeFond2 = SDL_LoadBMP("sin.bmp");
SDL_SetAlpha(imageDeFond2, SDL_SRCALPHA,228);
SDL_BlitSurface(imageDeFond2, NULL, ecran, &positionFond2);
SDL_Flip(ecran);
SDL_WaitEvent(&event);
}
else
if(event.motion.x>399 &&event.motion.x<601
&&event.motion.y>208 && event.motion.y<286)
{
imageDeFond3 = SDL_LoadBMP("cos.bmp");
SDL_SetAlpha(imageDeFond3, SDL_SRCALPHA,228);
SDL_BlitSurface(imageDeFond3, NULL, ecran, &positionFond3);
SDL_Flip(ecran);
}
else
if(event.motion.x>399 &&event.motion.x<601
&&event.motion.y>306 && event.motion.y<382)
{
imageDeFond4 = SDL_LoadBMP("exp.bmp");
SDL_SetAlpha(imageDeFond4, SDL_SRCALPHA,228);
SDL_BlitSurface(imageDeFond4, NULL, ecran, &positionFond4);
SDL_Flip(ecran);
}
else
if(event.motion.x>399 &&event.motion.x<601
&&event.motion.y>402 && event.motion.y<480)
{
imageDeFond5 = SDL_LoadBMP("log.bmp");
SDL_SetAlpha(imageDeFond5, SDL_SRCALPHA,228);
SDL_BlitSurface(imageDeFond5, NULL, ecran, &positionFond5);
SDL_Flip(ecran);
}
else
if(event.motion.x>399 &&event.motion.x<601
&&event.motion.y>500 && event.motion.y<578)
{
imageDeFond6 = SDL_LoadBMP("quitter.bmp");
SDL_SetAlpha(imageDeFond6, SDL_SRCALPHA,228);
SDL_BlitSurface(imageDeFond6, NULL, ecran, &positionFond6);
SDL_Flip(ecran);
}
else
{
imageDeFond7 = SDL_LoadBMP("aa.bmp");
SDL_BlitSurface(imageDeFond7, NULL, ecran, &positionFond7);
imageDeFond1 = SDL_LoadBMP("menu.bmp");
SDL_BlitSurface(imageDeFond1, NULL, ecran, &positionFond1);
imageDeFond2 = SDL_LoadBMP("sin.bmp");
SDL_SetAlpha(imageDeFond2, SDL_SRCALPHA,220);
SDL_BlitSurface(imageDeFond2, NULL, ecran, &positionFond2);
imageDeFond3 = SDL_LoadBMP("cos.bmp");
SDL_SetAlpha(imageDeFond3, SDL_SRCALPHA, 220);
SDL_BlitSurface(imageDeFond3, NULL, ecran, &positionFond3);
imageDeFond4 = SDL_LoadBMP("exp.bmp");
SDL_SetAlpha(imageDeFond4, SDL_SRCALPHA, 220);
SDL_BlitSurface(imageDeFond4, NULL, ecran, &positionFond4);
imageDeFond5 = SDL_LoadBMP("log.bmp");
SDL_SetAlpha(imageDeFond5,
SDL_SRCALPHA, 220);
SDL_BlitSurface(imageDeFond5, NULL, ecran, &positionFond5);
imageDeFond6 = SDL_LoadBMP("quitter.bmp");
SDL_SetAlpha(imageDeFond6, SDL_SRCALPHA, 220);
SDL_BlitSurface(imageDeFond6, NULL, ecran, &positionFond6);
SDL_Flip(ecran);
}
break;
case SDL_MOUSEBUTTONUP:
if( event.button.x>399
&& event.button.x<601 && event.button.y>110
&& event.button.y<188)
{
// construction des
axes*******************************************************************************
SDL_FillRect(ecran, NULL,
SDL_MapRGB(ecran->format, 12,2,45));
for ( a=0;a<1000;a++)
{
position.x = a ;
position.y = 300 ;
SDL_FillRect(rectangle, NULL,
SDL_MapRGB(ecran->format, 255, 255, 255));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
}
for (
a=0;a<600;a++)
{
position.x = 500 ;
position.y = a ;
SDL_FillRect(rectangle, NULL,
SDL_MapRGB(ecran->format, 255, 255, 255));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
}
// construction des
fleches*******************************************************************************
for ( a=490;a<500;a++)
{
position.x = a ;
position.y =500-a ;
SDL_FillRect(rectangle, NULL,
SDL_MapRGB(ecran->format, 255, 255, 255));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
}
for (
a=500;a<510;a++)
{
position.x = a ;
position.y = a-500 ;
SDL_FillRect(rectangle, NULL,
SDL_MapRGB(ecran->format, 255, 255, 255));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
}
for (
a=1000;a>990;a--)
{
position.x = a ;
position.y = 300+1000-a ;
SDL_FillRect(rectangle, NULL,
SDL_MapRGB(ecran->format, 255, 255, 255));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
}
for (
a=990;a<1000;a++)
{
position.x = a ;
position.y =290+a-990 ;
SDL_FillRect(rectangle, NULL,
SDL_MapRGB(ecran->format, 255, 255, 255));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
}
// TRACE DE LA FONCTION
for (t =-500; t<500;t++)
{
position.x = 500+t; // abcisse
du point
position.y =300-sin(t*0.01)*200
;// ordonnee du point
SDL_FillRect(rectangle, NULL,
SDL_MapRGB(ecran->format, 255, 100, 25));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
SDL_Flip(ecran); // Mise à jour de l'écran
}
p=1;
while(p==1)
{
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_QUIT:
p=0;
continuer = 0;
break;
case SDL_KEYDOWN:
switch
(event.key.keysym.sym)
{
case SDLK_ESCAPE:
/* Appui sur la touche Echap, pour retourner au menu */
p = 0;
imageDeFond7 =
SDL_LoadBMP("aa.bmp");
SDL_BlitSurface(imageDeFond7, NULL, ecran, &positionFond7);
imageDeFond1 = SDL_LoadBMP("menu.bmp");
SDL_BlitSurface(imageDeFond1, NULL, ecran, &positionFond1);
imageDeFond2 = SDL_LoadBMP("sin.bmp");
SDL_SetAlpha(imageDeFond2, SDL_SRCALPHA,220);
SDL_BlitSurface(imageDeFond2, NULL, ecran, &positionFond2);
imageDeFond3 = SDL_LoadBMP("cos.bmp");
SDL_SetAlpha(imageDeFond3, SDL_SRCALPHA, 220);
SDL_BlitSurface(imageDeFond3, NULL, ecran, &positionFond3);
imageDeFond4 = SDL_LoadBMP("exp.bmp");
SDL_SetAlpha(imageDeFond4, SDL_SRCALPHA, 220);
SDL_BlitSurface(imageDeFond4, NULL, ecran, &positionFond4);
imageDeFond5 = SDL_LoadBMP("log.bmp");
SDL_SetAlpha(imageDeFond5, SDL_SRCALPHA, 220);
SDL_BlitSurface(imageDeFond5, NULL, ecran, &positionFond5);
imageDeFond6 = SDL_LoadBMP("quitter.bmp");
SDL_SetAlpha(imageDeFond6, SDL_SRCALPHA, 220);
SDL_BlitSurface(imageDeFond6, NULL, ecran, &positionFond6);
SDL_Flip(ecran); // Mise à jour de
l'écran
break;
}
break;
}
}
}
else
if( event.button.x>399
&& event.button.x<601 && event.button.y>208
&& event.button.y<286)
{
// construction des
axes*******************************************************************************
SDL_FillRect(ecran, NULL,
SDL_MapRGB(ecran->format,12,2,45));
for ( a=0;a<1000;a++)
{
position.x = a ;
position.y = 300 ;
SDL_FillRect(rectangle, NULL,
SDL_MapRGB(ecran->format, 255, 255, 255));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
}
for (
a=0;a<600;a++)
{
position.x = 500 ;
position.y = a ;
SDL_FillRect(rectangle, NULL,
SDL_MapRGB(ecran->format, 255, 255, 255));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
}
// construction des
fleches*****************************************************************************
for ( a=490;a<500;a++)
{
position.x = a ;
position.y =500-a ;
SDL_FillRect(rectangle, NULL,
SDL_MapRGB(ecran->format, 255, 255, 255));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
}
for (
a=500;a<510;a++)
{
position.x = a ;
position.y = a-500 ;
SDL_FillRect(rectangle, NULL,
SDL_MapRGB(ecran->format, 255, 255, 255));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
}
for (
a=1000;a>990;a--)
{
position.x = a ;
position.y = 300+1000-a ;
SDL_FillRect(rectangle, NULL,
SDL_MapRGB(ecran->format, 255, 255, 255));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
}
for (
a=990;a<1000;a++)
{
position.x = a ;
position.y =290+a-990 ;
SDL_FillRect(rectangle, NULL,
SDL_MapRGB(ecran->format, 255, 255, 255));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
}
// TRACE DE LA FONCTION
for (t =-500; t<500;t++)
{
position.x = 500+t; // abcisse
du point
position.y =300-cos(t*0.01)*200
;// ordonnee du point
SDL_FillRect(rectangle, NULL,
SDL_MapRGB(ecran->format, 255, 100, 25));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
SDL_Flip(ecran); // Mise à jour de l'écran
}
p=1;
while(p==1)
{
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_QUIT:
p=0;
continuer = 0;
break;
case SDL_KEYDOWN:
switch
(event.key.keysym.sym)
{
case SDLK_ESCAPE:
p = 0;
imageDeFond7 =
SDL_LoadBMP("aa.bmp");
SDL_BlitSurface(imageDeFond7, NULL, ecran, &positionFond7);
imageDeFond1 = SDL_LoadBMP("menu.bmp");
SDL_BlitSurface(imageDeFond1, NULL, ecran, &positionFond1);
imageDeFond2 = SDL_LoadBMP("sin.bmp");
SDL_SetAlpha(imageDeFond2, SDL_SRCALPHA,220);
SDL_BlitSurface(imageDeFond2, NULL, ecran, &positionFond2);
imageDeFond3 = SDL_LoadBMP("cos.bmp");
SDL_SetAlpha(imageDeFond3, SDL_SRCALPHA, 220);
SDL_BlitSurface(imageDeFond3, NULL, ecran, &positionFond3);
imageDeFond4 = SDL_LoadBMP("exp.bmp");
SDL_SetAlpha(imageDeFond4, SDL_SRCALPHA, 220);
SDL_BlitSurface(imageDeFond4, NULL, ecran, &positionFond4);
imageDeFond5 =
SDL_LoadBMP("log.bmp");
SDL_SetAlpha(imageDeFond5, SDL_SRCALPHA, 220);
SDL_BlitSurface(imageDeFond5, NULL, ecran, &positionFond5);
imageDeFond6 = SDL_LoadBMP("quitter.bmp");
SDL_SetAlpha(imageDeFond6, SDL_SRCALPHA, 220);
SDL_BlitSurface(imageDeFond6, NULL, ecran, &positionFond6);
SDL_Flip(ecran); // Mise à jour de
l'écran
break;
}
break;
}
}
}
else
if( event.button.x>399
&& event.button.x<601 && event.button.y>306
&& event.button.y<382)
{
// construction des
axes*******************************************************************************
SDL_FillRect(ecran, NULL,
SDL_MapRGB(ecran->format,12,2,45));
for ( a=0;a<1000;a++)
{
position.x = a ;
position.y = 300 ;
SDL_FillRect(rectangle, NULL,
SDL_MapRGB(ecran->format, 255, 255, 255));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
}
for (
a=0;a<600;a++)
{
position.x = 500 ;
position.y = a ;
SDL_FillRect(rectangle, NULL,
SDL_MapRGB(ecran->format, 255, 255, 255));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
}
// construction des
fleches*******************************************************************************
for ( a=490;a<500;a++)
{
position.x = a ;
position.y =500-a ;
SDL_FillRect(rectangle, NULL,
SDL_MapRGB(ecran->format, 255, 255, 255));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
}
for (
a=500;a<510;a++)
{
position.x = a ;
position.y = a-500 ;
SDL_FillRect(rectangle, NULL,
SDL_MapRGB(ecran->format, 255, 255, 255));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
}
for (
a=1000;a>990;a--)
{
position.x = a ;
position.y = 300+1000-a ;
SDL_FillRect(rectangle, NULL,
SDL_MapRGB(ecran->format, 255, 255, 255));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
}
for (
a=990;a<1000;a++)
{
position.x = a ;
position.y =290+a-990 ;
SDL_FillRect(rectangle, NULL, SDL_MapRGB(ecran->format,
255, 255, 255));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
}
// TRACE DE LA FONCTION
for (t =-500; t<500;t++)
{
position.x = 500+t; // abcisse
du point
position.y =300-exp(t*0.01)*100 ;//
ordonnee du point
SDL_FillRect(rectangle, NULL,
SDL_MapRGB(ecran->format, 255, 100, 25));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
SDL_Flip(ecran); // Mise à jour de l'écran
}
p=1;
while(p==1)
{
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_QUIT:
p=0;
continuer = 0;
break;
case SDL_KEYDOWN:
switch
(event.key.keysym.sym)
{
case SDLK_ESCAPE:
p = 0;
imageDeFond7 = SDL_LoadBMP("aa.bmp");
SDL_BlitSurface(imageDeFond7, NULL, ecran, &positionFond7);
imageDeFond1 = SDL_LoadBMP("menu.bmp");
SDL_BlitSurface(imageDeFond1, NULL, ecran, &positionFond1);
imageDeFond2 = SDL_LoadBMP("sin.bmp");
SDL_SetAlpha(imageDeFond2, SDL_SRCALPHA,220);
SDL_BlitSurface(imageDeFond2, NULL, ecran, &positionFond2);
imageDeFond3 = SDL_LoadBMP("cos.bmp");
SDL_SetAlpha(imageDeFond3, SDL_SRCALPHA, 220);
SDL_BlitSurface(imageDeFond3, NULL, ecran, &positionFond3);
imageDeFond4 = SDL_LoadBMP("exp.bmp");
SDL_SetAlpha(imageDeFond4, SDL_SRCALPHA, 220);
SDL_BlitSurface(imageDeFond4, NULL,
ecran, &positionFond4);
imageDeFond5 = SDL_LoadBMP("log.bmp");
SDL_SetAlpha(imageDeFond5, SDL_SRCALPHA, 220);
SDL_BlitSurface(imageDeFond5, NULL, ecran, &positionFond5);
imageDeFond6 = SDL_LoadBMP("quitter.bmp");
SDL_SetAlpha(imageDeFond6, SDL_SRCALPHA, 220);
SDL_BlitSurface(imageDeFond6, NULL, ecran, &positionFond6);
SDL_Flip(ecran); // Mise à jour de
l'écran
break;
}
break;
}
}
}
else
if( event.button.x>399
&& event.button.x<601 && event.button.y>402
&& event.button.y<480)
{
// construction des
axes*******************************************************************************
SDL_FillRect(ecran, NULL,
SDL_MapRGB(ecran->format,12,2,45));
for ( a=0;a<1000;a++)
{
position.x = a ;
position.y = 300 ;
SDL_FillRect(rectangle, NULL,
SDL_MapRGB(ecran->format, 255, 255, 255));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
}
for (
a=0;a<600;a++)
{
position.x = 500 ;
position.y = a ;
SDL_FillRect(rectangle, NULL,
SDL_MapRGB(ecran->format, 255, 255, 255));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
}
// construction des
fleches*******************************************************************************
for ( a=490;a<500;a++)
{
position.x = a ;
position.y =500-a ;
SDL_FillRect(rectangle, NULL, SDL_MapRGB(ecran->format,
255, 255, 255));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
}
for (
a=500;a<510;a++)
{
position.x = a ;
position.y = a-500 ;
SDL_FillRect(rectangle, NULL,
SDL_MapRGB(ecran->format, 255, 255, 255));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
}
for (
a=1000;a>990;a--)
{
position.x = a ;
position.y = 300+1000-a ;
SDL_FillRect(rectangle, NULL,
SDL_MapRGB(ecran->format, 255, 255, 255));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
}
for (
a=990;a<1000;a++)
{
position.x = a ;
position.y =290+a-990 ;
SDL_FillRect(rectangle, NULL,
SDL_MapRGB(ecran->format, 255, 255, 255));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
}
// TRACE DE LA FONCTION
for (t =0; t<500;t++)
{
position.x = 500+t; // abcisse du
point
position.y =300-log(t*0.01)*100;//
ordonnee du point
SDL_FillRect(rectangle, NULL,
SDL_MapRGB(ecran->format, 255, 100, 25));
SDL_BlitSurface(rectangle, NULL, ecran,
&position); // Collage du point sur l'écran
SDL_Flip(ecran); // Mise à jour de l'écran
}
p=1;
while(p==1)
{
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_QUIT:
p=0;
continuer = 0;
break;
case SDL_KEYDOWN:
switch (event.key.keysym.sym)
{
case SDLK_ESCAPE:
p = 0;
imageDeFond7 = SDL_LoadBMP("aa.bmp");
SDL_BlitSurface(imageDeFond7, NULL, ecran, &positionFond7);
imageDeFond1 = SDL_LoadBMP("menu.bmp");
SDL_BlitSurface(imageDeFond1, NULL, ecran, &positionFond1);
imageDeFond2 = SDL_LoadBMP("sin.bmp");
SDL_SetAlpha(imageDeFond2, SDL_SRCALPHA,220);
SDL_BlitSurface(imageDeFond2, NULL, ecran, &positionFond2);
imageDeFond3 = SDL_LoadBMP("cos.bmp");
SDL_SetAlpha(imageDeFond3, SDL_SRCALPHA, 220);
SDL_BlitSurface(imageDeFond3, NULL, ecran, &positionFond3);
imageDeFond4 = SDL_LoadBMP("exp.bmp");
SDL_SetAlpha(imageDeFond4, SDL_SRCALPHA,
220);
SDL_BlitSurface(imageDeFond4, NULL, ecran, &positionFond4);
imageDeFond5 = SDL_LoadBMP("log.bmp");
SDL_SetAlpha(imageDeFond5, SDL_SRCALPHA, 220);
SDL_BlitSurface(imageDeFond5, NULL, ecran, &positionFond5);
imageDeFond6 = SDL_LoadBMP("quitter.bmp");
SDL_SetAlpha(imageDeFond6, SDL_SRCALPHA, 220);
SDL_BlitSurface(imageDeFond6, NULL, ecran, &positionFond6);
SDL_Flip(ecran); // Mise à jour de
l'écran
break;
}
break;
}
}
}
else
if( event.button.x>399
&& event.button.x<601 && event.button.y>500
&&
event.button.y<578)
{
p=0;
continuer=0;
}
break;
}
}
SDL_FreeSurface(rectangle); // Libération
de la surface
SDL_Quit();
return EXIT_SUCCESS;
}
ConversionConversion EmoticonEmoticon
Remarque : Seul un membre de ce blog est autorisé à enregistrer un commentaire.