From aec5ec282efccac75f22697a9a222fe56f676c82 Mon Sep 17 00:00:00 2001
From: Henri Montjoie <henri.montjoie@insa-rennes.fr>
Date: Thu, 12 May 2016 15:31:27 +0200
Subject: [PATCH] ajout du menu

---
 src/affichage.c | 26 ++++++++++++++++----------
 1 file changed, 16 insertions(+), 10 deletions(-)

diff --git a/src/affichage.c b/src/affichage.c
index d0d54b3..643c738 100644
--- a/src/affichage.c
+++ b/src/affichage.c
@@ -360,8 +360,7 @@ int affichage_menu_configuration()
 
     police=TTF_OpenFont("../resources/fonts/arial.ttf",26);
 
-    char src[50], dest[50];
-    char buffer[2];
+    char src[2], dest[20];
     for(i=0; i<NB_PERSO; i++)
     {
         strcpy(dest,  "personnage ");
@@ -634,7 +633,8 @@ int affichage_carte()
             Position_Case[j][i].y=j*HAUTEUR_CASE+(HAUTEUR_CASE/2);
         }
     }
-    while(etat!=FERMER&&etat!=VICTOIRE)
+    Position_Case_brillante=Position_Case[0][0];
+    while(etat!=FERMER)
     {
         SDL_WaitEvent(&event);
         switch(event.type) /* Test du type d'événement */
@@ -658,8 +658,7 @@ int affichage_carte()
                 //persosuivant();
                 break;
             case SDLK_ESCAPE:
-                //afficher_menu();
-                etat=FERMER;
+                afficher_menu();
                 break;
             default:
                 break;
@@ -703,7 +702,7 @@ int affichage_carte()
 int afficher_menu()
 {
     SDL_Event event;
-    SDL_Surface* ecran = SDL_SetVideoMode(LARGEUR_CARTE*(LARGEUR_CASE+1), HAUTEUR_CARTE*(HAUTEUR_CASE+2), 32, SDL_HWSURFACE|SDL_DOUBLEBUF);
+    SDL_Surface* fenetre = SDL_SetVideoMode(LARGEUR_CARTE*(LARGEUR_CASE+1), HAUTEUR_CARTE*(HAUTEUR_CASE+2), 32, SDL_HWSURFACE|SDL_DOUBLEBUF);
     SDL_Surface* bouton_continuer=NULL;
     SDL_Surface* bouton_quitter=NULL;
     SDL_Rect pos_bouton_continuer;
@@ -726,21 +725,23 @@ int afficher_menu()
         printf("Unable to load bitmap: %s\n", SDL_GetError());
         return 1;
     }
+
     while(etat!=FERMER)
     {
+        SDL_WaitEvent(&event);
         switch(event.type) /* Test du type d'événement */
         {
         case SDL_QUIT: /* Si c'est un événement de type "Quitter" */
-            etat=FERMER;
+            return 0;
             break;
         case SDL_MOUSEBUTTONDOWN:
             if(pos_bouton_continuer.x<event.button.x&&event.button.x<pos_bouton_continuer.x+LARGEUR_BOUTON)
             {
-                if(pos_bouton_continuer.y<event.button.y&&event.button.y<pos_bouton_continuer.x+HAUTEUR_BOUTON)
+                if(pos_bouton_continuer.y<event.button.y&&event.button.y<pos_bouton_continuer.y+HAUTEUR_BOUTON)
                 {
                     return 0;
                 }
-                if(pos_bouton_quitter.y<event.button.y&&event.button.y<pos_bouton_quitter.x+HAUTEUR_BOUTON)
+                if(pos_bouton_quitter.y<event.button.y&&event.button.y<pos_bouton_quitter.y+HAUTEUR_BOUTON)
                 {
                     etat=FERMER;
                 }
@@ -757,7 +758,12 @@ int afficher_menu()
             }
             break;
         }
+        SDL_BlitSurface(bouton_continuer,NULL,fenetre,&pos_bouton_continuer);
+        SDL_BlitSurface(bouton_quitter,NULL,fenetre,&pos_bouton_quitter);
+        SDL_Flip(fenetre);
     }
-    //free les surfaces
+    SDL_FreeSurface(fenetre);
+    SDL_FreeSurface(bouton_continuer);
+    SDL_FreeSurface(bouton_quitter);
     return 0;
 }
-- 
GitLab