1 2 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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
void jouer(SDL_Surface* ecran)
{
SDL_Surface*imageDeFond = NULL, *viseur = NULL , *portah = NULL , *Bato3h , *Bato4h , *Soum3h , *Bato3h2 , *Bato2h;
SDL_Rect positionFond, positionPortah, positionBato3h, positionBato2h, positionBato4h, positionSoum3h ,positionBato3h2;
SDL_Event event;
SDL_Rect position;
int continuer = 1;
FSOUND_SAMPLE *tir = NULL;
FSOUND_STREAM *musique = NULL;
/* Initialisation de FMOD */
FSOUND_Init(44100, 32, 0);
musique = FSOUND_Stream_Open("eyeball.mp3", FSOUND_LOOP_NORMAL, 0, 0); /* On ouvre la musique */
tir = FSOUND_Sample_Load(FSOUND_FREE, "pan.wav", 0, 0, 0);
if (musique == NULL) /* On vérifie si elle a bien été ouverte (IMPORTANT) */
{
fprintf(stderr, "Impossible de lire le fichier mp3\n");
exit(EXIT_FAILURE);
}
if (musique != NULL) /* On vérifie si elle a bien été ouverte (IMPORTANT) */
{
fprintf(stderr, "Fichier mp3 chargé\n");
//exit(EXIT_FAILURE);
}
FSOUND_Stream_SetLoopCount(musique, -1); /* On active la répétition de la musique à l'infini */
FSOUND_Stream_Play(FSOUND_FREE, musique); /* On joue la musique */
FSOUND_SetVolume(FSOUND_ALL, 15);
positionFond.x = 0;
positionFond.y = 0;
if (tir == NULL)
{
fprintf(stderr, "Impossible de lire pan.wav\n");
exit(EXIT_FAILURE);
}
SDL_Init(SDL_INIT_VIDEO);
SDL_WM_SetIcon(IMG_Load("sdl_icone.bmp"), NULL);
ecran = SDL_SetVideoMode(640, 375, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
SDL_WM_SetCaption("La super Bataille Navale !", NULL);
viseur = IMG_Load("viseur.png");
imageDeFond = IMG_Load("jeu2.jpg");
SDL_BlitSurface(imageDeFond, NULL, ecran, &positionFond);
while (continuer)
{
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_KEYDOWN:
switch(event.key.keysym.sym )
{
case SDLK_p :
{
if (FSOUND_GetPaused(1)) // Si la chanson est en pause (sur le canal 1)
FSOUND_SetPaused(1, 0); // On enlève la pause
else // Sinon, elle est en cours de lecture
FSOUND_SetPaused(1, 1); // On active la pause
}
break;
case SDLK_j :
system("bataille_dev");
break;
case SDLK_ESCAPE :
continuer=0;
break;
}
break;
case SDL_MOUSEBUTTONDOWN:
FSOUND_PlaySound(FSOUND_FREE, tir);
break;
case SDL_MOUSEMOTION:
position.x = event.motion.x - (viseur->w / 2);
position.y = event.motion.y - (viseur->h / 2);
//system("bataille_dev");
break;
}
SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 0, 0, 0));
SDL_BlitSurface(viseur, NULL, ecran, &position);
SDL_BlitSurface(imageDeFond, NULL, ecran, &positionFond);
SDL_Flip(ecran);
}
/* On libère le son et on ferme FMOD */
FSOUND_Stream_Close(musique); /* On libère la mémoire */
FSOUND_Sample_Free(tir);
FSOUND_Close();
} |
Partager