diff --git a/include/function.h b/include/function.h index 3120e5d..5002e89 100644 --- a/include/function.h +++ b/include/function.h @@ -57,4 +57,5 @@ void winOrLoseLoop(dis *display_user,score *score_user, bool win); unsigned int scoreCalculator(score *score_user, bool win); int inEditorLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets, int nbr_targets, dis *display_user,score *score_user, int num_fichier); +int titleScreen (char **tab2d, vect *dim_tab, dis *display_user); #endif // FONCTION_H diff --git a/script/function.c b/script/function.c index 6242f02..74542ab 100644 --- a/script/function.c +++ b/script/function.c @@ -622,6 +622,44 @@ int inEditorLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets, return -2; } + +/** + * + * \brief La fonction permet de faire la boucle de l'éditeur. + * \param tab2d Le tableau 2d carre. + + * \return renvoie -2 ce qui signifie l'editeur + */ +int titleScreen (char **tab2d, vect *dim_tab, dis *display_user) +{ + char input; + bool finish = false; + SDL_Event event; + + + while (!finish) + { + + while (SDL_PollEvent (&event)) + { + if (event.type == SDL_KEYDOWN) + { + input = event.key.keysym.scancode; + switch (input) + { + case SDL_SCANCODE_RETURN: + playAudio(0); + return -1; + break; + } + } + } + + SDL_Delay (16); + } + return -3; +} + /** * \brief Cette fonction verrifie si la partie est gagnante. * \param tab2d Le tableau 2D du jeu. diff --git a/script/main.c b/script/main.c index 7367d16..e3a622f 100644 --- a/script/main.c +++ b/script/main.c @@ -81,13 +81,12 @@ int main () vect *playerPos = (vect *)malloc (sizeof (vect)); vect *targets = {0}; int nbr_targets; - score playerScore = {0}; char **tab2d = creatArea2D (SIZE_PLAY, SIZE_PLAY); score score_user = {0, 0, 0,0}; int num_fichier=0; vect dim = {SIZE_PLAY, SIZE_PLAY}; - int output = -1; + int output = -3; vect dim_menu = {0, 0}; vect pos = {4, 1}; @@ -95,11 +94,10 @@ int main () backgroundDisplay(&display_user,0); vect null = {0, 0}; - output = inGameLoop (menu, &dim_menu, &pos, &null , 1, - &display_user, &score_user, true); + //output = inGameLoop (menu, &dim_menu, &pos, &null , 1, + // &display_user, &score_user, true); nullScore(&score_user); SDL_RenderClear(display_user.renderer); - SDL_Event event; //mixeur audio // Initialisation de SDL_mixer @@ -116,10 +114,9 @@ int main () Mix_Volume(-1,MIX_MAX_VOLUME); // Définit le volume maximal pour tous les canaux Mix_VolumeMusic(MIX_MAX_VOLUME / 2); // Loop pour le jeu entier menu et les jeux. - Mix_PlayMusic(music_menu, -1); + output = -3; while(output != 0) { - SDL_RenderClear(display_user.renderer); @@ -137,6 +134,12 @@ int main () Mix_PlayMusic(music_editor, -1); backgroundDisplay(&display_user,2); output = inEditorLoop(tab2d, &dim, playerPos, targets, nbr_targets, &display_user,&score_user ,num_fichier); + } + else if(output == -3) + { + Mix_PlayMusic(music_menu, -1); + backgroundDisplay(&display_user,0); + output = titleScreen(tab2d, &dim, &display_user); } else {