#include <stdio.
h>
#include <stdlib.h>
#include <stdbool.h>
#include <SDL/SDL.h>
#include <SDL/SDL_image.h>
#include <SDL/SDL_mixer.h>
#include <SDL/SDL_ttf.h>
int main()
{
/***********patie sons*****/
Mix_AllocateChannels(20);
SDL_WM_SetCaption("SDL_Mixer", NULL);
if(Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, MIX_DEFAULT_CHANNELS, 1024) == -
1) //Initialisation de l'API Mixer
{
printf("%s", Mix_GetError());
}
Mix_Music *musique;
Mix_Chunk *sound;
musique = Mix_LoadMUS("musique.mp3"); //Chargement de la musique
sound = Mix_LoadWAV("[Link]");//Chargement de son de bouton
Mix_VolumeMusic(MIX_MAX_VOLUME);// volume au max
Mix_PauseMusic();// l'arret de la musique
Mix_ResumeMusic();// resumer la musique
/****** kan theb tna9es fel 7es *****/
Mix_VolumeMusic(MIX_MAX_VOLUME/3);// kan t7eb tzid tna9es fel 7ess
ekteb par exemple ( Mix_VolumeMusic(MIX_MAX_VOLUME/6); )
Mix_ResumeMusic();
Mix_PlayMusic(musique, -1); //Jouer infiniement la musique
/************Partie TTF(ttf)************/
TTF_Init();//initialisation de TTF
TTF_Font *police = NULL;//creation de pointeur Font
SDL_Color couleurBlanche = {255,255,255};// couleur de texte(blanche)
SDL_Color couleurNoir = {255,0,0};// couleur de texte(noir)
police = TTF_OpenFont("[Link]", 30);// th7ot esm l font (exemple ma7touta
"[Link]") w lkobr ta3 lktiba(police) (exemple 30)
SDL_Surface *texte;//creation de surface texte
texte = TTF_RenderText_Blended(police, "lektiba elli t7eb t'afficheha",
couleurBlanche);
SDL_Rect position_text={900,185};//position de texte (win t7eb t'affichi
text)
/***********partie graphique*****/
/****chargement de background et des image (ouverture d'une fenetre)/
SDL_Surface * ecran=NULL;
SDL_Surface * background=NULL;
SDL_Surface * image=NULL;
background=IMG_Load("esm_fichier.png");//chragement des image
image=IMG_Load("esm_fichier.png");
ken .bmp twalli image=IMG_LoadBMP("[Link]");
SDL_Event event;//declaration de l'evenement
SDL_Rect positionbackground,positionimage;// declaration de la position
/*****initialisation des positions des images******/
positionbackground.x= ;
positionbackground.y= ;
positionimage.x= ;
positionimage.y= ;
ecran = SDL_SetVideoMode(1200, 600, 32, SDL_HWSURFACE |
SDL_DOUBLEBUF);//configuration de l'ecran (t7ot longeur w largeur ta3 l'ecran)
ecran = SDL_SetVideoMode(1200, 600, 32, SDL_HWSURFACE |SDL_DOUBLEBUF |
SDL_FULLSCREEN);//configuration de l'ecran et sa mise en plein ecran)
/********* affichage de background sur l'ecran****/
SDL_BlitSurface(background, NULL, ecran, NULL);
SDL_Flip(ecran);//dima t7otha ba3d kol bloc ta3 SDL_BlitSurface(kima el
refresh medem baddalt 7ajet)
/**********************************/
/********* affichage d'une image sur l'ecran en position ****/
SDL_BlitSurface(image, NULL, ecran ,&positionimage);// adresse el
position li teb3et'ha
SDL_Flip(ecran);//dima t7otha ba3d kol bloc ta3 SDL_BlitSurface
/**********************************/
while (SDL_WaitEvent(&event))
{
switch ([Link])
{
case SDL_KEYDOWN://clavier
{if ([Link]==SDLK_DOWN)
SDL_BlitSurface(image,NULL, ecran, &positionimage );
SDL_Flip(ecran);
if(Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, MIX_DEFAULT_CHANNELS, 1024)
== -1){printf("%s",Mix_GetError()); }
musique = Mix_LoadMUS("esm musique.mp3");
Mix_PlayMusic(esm musique, -1);
else if([Link]==SDLK_UP)
{
SDL_BlitSurface(image,NULL, ecran, &positionimage );
SDL_Flip(ecran);
if(Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, MIX_DEFAULT_CHANNELS, 1024)
== -1){printf("%s",Mix_GetError()); }
musique = Mix_LoadMUS("esm musique.mp3 ");
ken .wav twalli musiqe = Mix_LoadWAV("[Link]");
Mix_PlayMusic(esm musique, -1);
}
break;
}
case SDL_MOUSEMOTION:// mouvement de sourie
{
printf("Souris en position %d %d\n",[Link].x, [Link].y);//
yekteblek les coordonnees ta3 sourie mta3ek fel terminal
}
if ([Link] == SDL_BUTTON_LEFT)
{
if(([Link].x>277) && ([Link].x<=377) &&
([Link].y>=70) && ([Link].y <=170))
{
if(Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, MIX_DEFAULT_CHANNELS, 1024)
== -1){printf("%s",Mix_GetError()); }
musique = Mix_LoadMUS("musique.mp3");
Mix_PlayMusic(musique, -1);
}
if(([Link].x>50) && ([Link].x<=150) && ([Link].y>=70)
&& ([Link].y <=170))
{
if(Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, MIX_DEFAULT_CHANNELS, 1024)
== -1){printf("%s",Mix_GetError()); }
musique1 = Mix_LoadMUS("musique1.mp3");
Mix_PlayMusic(musique1, -1);
}break;
SDL_BlitSurface(back, NULL, ecran, &positionback);
SDL_BlitSurface(elephant, NULL, ecran, &positionelephant);
SDL_BlitSurface(singe, NULL, ecran, &positionsinge);
positionTexte.x = 50 ;
positionTexte.y = 0 ;
SDL_BlitSurface(texte, NULL, ecran, &positionTexte);
SDL_Flip(ecran); // mise a jour
}
case SDL_QUIT://leflsa l7amra li tsakker menha melle5er
{
/***on libere la memoire et on quitte***/
SDL_FreeSurface(background);
SDL_FreeSurface(image);
SDL_FreeSurface(texte);
TTF_CloseFont(police) ;
TTF_Quit() ;
Mix_FreeMusic(musique);
Mix_CloseAudio();
SDL_Quit(); // Sortie mel fenetre SDL
/**********************/
return EXIT_SUCCESS;
}//switch
}//while