From 0e84c4d70b574c075f57504329a162cc1355bc06 Mon Sep 17 00:00:00 2001
From: Henri Montjoie <henri.montjoie@insa-rennes.fr>
Date: Thu, 12 May 2016 14:19:34 +0200
Subject: [PATCH] [CHAMPAGNE]La carte s'affiche... mais toujours la 1

---
 resources/Maps.xml |  40 ++--
 src/affichage.c    | 487 +++++++++++++++++++++++----------------------
 src/affichage.h    |   2 +-
 3 files changed, 267 insertions(+), 262 deletions(-)

diff --git a/resources/Maps.xml b/resources/Maps.xml
index 43b9e6c..f31ce2f 100644
--- a/resources/Maps.xml
+++ b/resources/Maps.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <Maps>
 
 <Map id="MAP_1" name="Comté de la sieste" desc="Cette map est so-mmeil" taille_lignes="10">
@@ -6,29 +6,29 @@
 <Line>MFPPRRPPFM</Line>
 <Line>MFPPRRPPFM</Line>
 <Line>MFPPRRPPFM</Line>
+<Line>MFRRRRRRFM</Line>
+<Line>MFPPPRRPFM</Line>
+<Line>MFPRRPPPFM</Line>
+<Line>MFRRRRRRFM</Line>
+<Line>MMMMMMMMMM</Line>
+<Line>MFRPRRPRFM</Line>
+<Line>MFRRRRRRFM</Line>
+<Line>MFPPPPPPFM</Line>
+<Line>MFRRRRRRFM</Line>
 <Line>MFPPRRPPFM</Line>
-<Line>MFPPRRPPFM</Line>
-<Line>MFPPRRPPFM</Line>
-<Line>MFPPRRPPFM</Line>
-<Line>MFPPRRPPFM</Line>
-<Line>MFPPRRPPFM</Line>
-<Line>MFPPRRPPFM</Line>
-<Line>MFPPRRPPFM</Line>
-<Line>MFPPRRPPFM</Line>
-<Line>MFPPRRPPFM</Line>
-<Line>MFPPRRPPFM</Line>
-<Line>MFPPRRPPFM</Line>
+<Line>MFRRRRRRFM</Line>
+<Line>MFPPPPPPFM</Line>
 </Map>
 
 <Map id="MAP_2" name="Chasse au trésor" desc="Une map pour 2 joueurs qui rend fou !! " taille_lignes="10">
-  <Line>MFPPRRPPFM</Line>
-  <Line>MFPPRRPPFM</Line>
-  <Line>MFPPRRPPFM</Line>
-  <Line>MFPPRRPPFM</Line>
-  <Line>MFPPRRPPFM</Line>
-  <Line>MFPPRRPPFM</Line>
-  <Line>MFPPRRPPFM</Line>
-  <Line>MFPPRRPPFM</Line>
+  <Line>MFPPRRPFFF</Line>
+  <Line>MFPPRRFFFF</Line>
+  <Line>MFPPRRPFFF</Line>
+  <Line>MFPPRRPFFF</Line>
+  <Line>MFPPRRPPFF</Line>
+  <Line>MFPPRRPPFM</Line>
+  <Line>MFPPPPPPFM</Line>
+  <Line>MFPPPPPPFM</Line>
   <Line>MFPPRRPPFM</Line>
   <Line>MFPPRRPPFM</Line>
   <Line>MFPPRRPPFM</Line>
diff --git a/src/affichage.c b/src/affichage.c
index 3b465d6..afbb467 100644
--- a/src/affichage.c
+++ b/src/affichage.c
@@ -45,21 +45,20 @@ int main_affichage()
     {
         switch(etat)
         {
-            case SAISIE_JOUEURS:
-                saisie_noms_joueurs();
-                break;
-            case LANCEMENT:
-                affichage_ecran_accueil();
-                break;
-            case CONFIGURATION:
-                affichage_menu_configuration();
-                break;
-            case TOUR_J1P1:
-                printf(obtenirLignesCarte(num_carte_selectionnee)[0]);
-                affichage_carte(obtenirLignesCarte(num_carte_selectionnee));
-                break;
-            default:
-                break;
+        case SAISIE_JOUEURS:
+            saisie_noms_joueurs();
+            break;
+        case LANCEMENT:
+            affichage_ecran_accueil();
+            break;
+        case CONFIGURATION:
+            affichage_menu_configuration();
+            break;
+        case TOUR_J1P1:
+            affichage_carte();
+            break;
+        default:
+            break;
         }
     }
     TTF_Quit();
@@ -87,7 +86,8 @@ char* afficherListeClasses(char** nomsClasses, char** skinsClasses, int nbChoix,
     SDL_Rect positionsSkins[nbChoix];
     SDL_Color couleurNoire = {0, 0, 0};
 
-    for(i=0;i<nbChoix;i++){
+    for(i=0; i<nbChoix; i++)
+    {
         tabSkins[i]=SDL_LoadBMP(skinsClasses[i]);
         if (!tabSkins[i])
         {
@@ -106,24 +106,24 @@ char* afficherListeClasses(char** nomsClasses, char** skinsClasses, int nbChoix,
         SDL_WaitEvent(&event);
         switch(event.type)
         {
-            case SDL_QUIT:
-                SDL_FreeSurface(fenetre);
-                return "fermer";
-                break;
-            case SDL_MOUSEBUTTONDOWN:
-                for(i=0;i<nbChoix;i++)
-                    {
-                        if(event.button.y/positionsSkins[0].h==i)
-                        {
-                            classeChoisie=nomsClasses[i];
-                            quitter=1;
-                        }
-                    }
-                break;
-            default:
-                break;
+        case SDL_QUIT:
+            SDL_FreeSurface(fenetre);
+            return "fermer";
+            break;
+        case SDL_MOUSEBUTTONDOWN:
+            for(i=0; i<nbChoix; i++)
+            {
+                if(event.button.y/positionsSkins[0].h==i)
+                {
+                    classeChoisie=nomsClasses[i];
+                    quitter=1;
+                }
+            }
+            break;
+        default:
+            break;
         }
-        for(i=0;i<nbChoix;i++)
+        for(i=0; i<nbChoix; i++)
         {
             tabTextes[i]=TTF_RenderText_Shaded(police, nomsClasses[i], couleurTexte,couleurNoire);
             positionsSkins[i].y=i*tabSkins[0]->h;
@@ -135,7 +135,7 @@ char* afficherListeClasses(char** nomsClasses, char** skinsClasses, int nbChoix,
         }
         SDL_Flip(fenetre);
     }
-    for(i=0;i<nbChoix;i++)
+    for(i=0; i<nbChoix; i++)
     {
         SDL_FreeSurface(tabTextes[i]);
         SDL_FreeSurface(tabSkins[i]);
@@ -192,11 +192,15 @@ int saisie_noms_joueurs()
 
     char nom_joueur1[TAILLE_NOMS] = "";
     fgets(nom_joueur1, sizeof(nom_joueur1), stdin);
-    if(strlen(nom_joueur1)>TAILLE_NOMS-2){
+    if(strlen(nom_joueur1)>TAILLE_NOMS-2)
+    {
         printf("erreur : nom trop long");
         return -1;
     }
-    if(strlen(nom_joueur1)>1){ nom_joueur1[strlen(nom_joueur1)-1]=NULL;}
+    if(strlen(nom_joueur1)>1)
+    {
+        nom_joueur1[strlen(nom_joueur1)-1]=NULL;
+    }
 
     char nom_joueur2[TAILLE_NOMS] = "";
 
@@ -205,11 +209,15 @@ int saisie_noms_joueurs()
     SDL_Flip(ecran);
 
     fgets(nom_joueur2, sizeof(nom_joueur2), stdin);
-    if(strlen(nom_joueur1)>TAILLE_NOMS-2){
+    if(strlen(nom_joueur1)>TAILLE_NOMS-2)
+    {
         printf("erreur : nom trop long");
         return -1;
     }
-    if(strlen(nom_joueur2)>1) {nom_joueur2[strlen(nom_joueur2)-1]=NULL;}
+    if(strlen(nom_joueur2)>1)
+    {
+        nom_joueur2[strlen(nom_joueur2)-1]=NULL;
+    }
 
     nom_1=nom_joueur1;
     nom_2=nom_joueur2;
@@ -265,15 +273,17 @@ int affichage_ecran_accueil()
         SDL_WaitEvent(&event);
         switch(event.type)
         {
-            case SDL_QUIT:
-                etat=FERMER;
-                break;
-            case SDL_MOUSEBUTTONDOWN:
-                if (event.button.x<pos_texte.x+texte->w&&event.button.x>pos_texte.x&&event.button.y<pos_texte.y+texte->h&&event.button.y>pos_texte.y)
-                    {etat=CONFIGURATION;}
-                break;
-            default:
-                break;
+        case SDL_QUIT:
+            etat=FERMER;
+            break;
+        case SDL_MOUSEBUTTONDOWN:
+            if (event.button.x<pos_texte.x+texte->w&&event.button.x>pos_texte.x&&event.button.y<pos_texte.y+texte->h&&event.button.y>pos_texte.y)
+            {
+                etat=CONFIGURATION;
+            }
+            break;
+        default:
+            break;
         }
         SDL_BlitSurface(logo,NULL,ecran,&pos_logo);
         SDL_BlitSurface(texte,NULL,ecran,&pos_texte);
@@ -303,10 +313,10 @@ int affichage_menu_configuration()
     SDL_Surface* texte = NULL;
     SDL_Surface* texte2 = NULL;
     SDL_Surface* texte3 = NULL;
-    SDL_Surface* previsualisation[5]={NULL};
-    SDL_Surface* textes[NB_JOUEURS*NB_PERSO]={NULL};
+    SDL_Surface* previsualisation[5]= {NULL};
+    SDL_Surface* textes[NB_JOUEURS*NB_PERSO]= {NULL};
     SDL_Surface* images_classes[nombre_classes];
-    SDL_Surface* images_persos[NB_PERSO][NB_JOUEURS]={{NULL}};
+    SDL_Surface* images_persos[NB_PERSO][NB_JOUEURS]= {{NULL}};
     SDL_Rect positions_images[NB_PERSO][NB_JOUEURS];
     SDL_Rect posTextes[NB_JOUEURS*NB_PERSO];
     SDL_Rect pos_bouton;
@@ -352,7 +362,7 @@ int affichage_menu_configuration()
 
     char src[50], dest[50];
     char buffer[2];
-    for(i=0;i<NB_PERSO;i++)
+    for(i=0; i<NB_PERSO; i++)
     {
         strcpy(dest,  "personnage ");
         strcpy(src, itoa(i+1,buffer,10));
@@ -361,7 +371,7 @@ int affichage_menu_configuration()
         posTextes[i].y=(i+1)*ecran->h/6;
         SDL_BlitSurface(textes[i],NULL,ecran,&(posTextes[i]));
     }
-    for(i=NB_PERSO;i<NB_JOUEURS*NB_PERSO;i++)
+    for(i=NB_PERSO; i<NB_JOUEURS*NB_PERSO; i++)
     {
         strcpy(dest,  "personnage ");
         strcpy(src, itoa(i-NB_PERSO+1,buffer,10));
@@ -372,11 +382,11 @@ int affichage_menu_configuration()
     }
 
     char** path_images=obtenirSkinsClasses();
-    int numClassePerso[NB_PERSO][NB_JOUEURS]={{-1,-1},{-1,-1},{-1,-1}};
+    int numClassePerso[NB_PERSO][NB_JOUEURS]= {{-1,-1},{-1,-1},{-1,-1}};
     j=0; /*numero du joeuur*/
     p=0; /*numero du personnage*/
     char *classeChoisie;
-    for(i=0;i<nombre_classes;i++)
+    for(i=0; i<nombre_classes; i++)
     {
         images_classes[i]=SDL_LoadBMP(path_images[i]);
         if (!images_classes[i])
@@ -389,10 +399,10 @@ int affichage_menu_configuration()
 
     map_choisie=SDL_LoadBMP("../resources/Skins/Map_select.bmp");
     if (!map_choisie)
-        {
-            printf("Unable to load bitmap: %s\n", SDL_GetError());
-            return 1;
-        }
+    {
+        printf("Unable to load bitmap: %s\n", SDL_GetError());
+        return 1;
+    }
     SDL_SetColorKey(map_choisie, SDL_SRCCOLORKEY, SDL_MapRGB(map_choisie->format, 0, 0, 255));
 
     char* path[5];
@@ -402,7 +412,7 @@ int affichage_menu_configuration()
     path[3]="../resources/Skins/Map_4.bmp";
     path[4]="../resources/Skins/autre_map.bmp";
 
-    for(i=0;i<5;i++)
+    for(i=0; i<5; i++)
     {
         previsualisation[i]=SDL_LoadBMP(path[i]);
         if (!previsualisation[i])
@@ -421,67 +431,76 @@ int affichage_menu_configuration()
         SDL_WaitEvent(&event);
         switch(event.type)
         {
-            case SDL_QUIT:
-                etat=FERMER;
-                return 0;
-                break;
-            case SDL_MOUSEBUTTONDOWN:
-                if(event.button.x>pos_bouton.x&&event.button.x<pos_bouton.x+lancer_partie->w&&event.button.y>pos_bouton.y&&event.button.y<pos_bouton.y+lancer_partie->h){
-                    for(i=0;i<NB_PERSO;i++){
-                        for(k=0;k<NB_JOUEURS;k++){
-                            if(numClassePerso[i][k]==-1){
-                                p=-1;
-                            }
+        case SDL_QUIT:
+            etat=FERMER;
+            return 0;
+            break;
+        case SDL_MOUSEBUTTONDOWN:
+            if(event.button.x>pos_bouton.x&&event.button.x<pos_bouton.x+lancer_partie->w&&event.button.y>pos_bouton.y&&event.button.y<pos_bouton.y+lancer_partie->h)
+            {
+                for(i=0; i<NB_PERSO; i++)
+                {
+                    for(k=0; k<NB_JOUEURS; k++)
+                    {
+                        if(numClassePerso[i][k]==-1)
+                        {
+                            p=-1;
                         }
                     }
-                    if(p==0&&c!=-1){
-                        etat=TOUR_J1P1;
-                    }
-                    if(c==-1){
-                        printf("choisissez une carte\n");
-                    }
-                    if(p==-1){
-                        p=0;
-                        printf("selectionnez des personnages\n");
-                    }
                 }
-                for(i=0;i<5;i++)
+                if(p==0&&c!=-1)
                 {
-                    if(event.button.x>position_carte[i].x&&event.button.x<position_carte[i].x+previsualisation[0]->w&&event.button.y>position_carte[i].y&&event.button.y<position_carte[i].y+previsualisation[0]->h)
-                    {
-                        c=i;
-                        selectionnerCarte(obtenirNomsCartes()[c]);
-                        num_carte_selectionnee=c+1;
-                    }
+                    etat=TOUR_J1P1;
                 }
-                if(event.button.x>posTextes[0].x&&event.button.x<posTextes[0].x+textes[0]->w)
-                    j=1;
-                if(event.button.x>posTextes[NB_PERSO].x&&event.button.x<posTextes[NB_PERSO].x+textes[NB_PERSO]->w)
-                    j=2;
-                for(i=0;i<NB_PERSO;i++)
+                if(c==-1)
                 {
-                    if(event.button.y>posTextes[i].y&&event.button.y<posTextes[i].y+textes[i]->h)
-                        p=i+1;
+                    printf("choisissez une carte\n");
                 }
-                if(j!=0&&p!=0)
+                if(p==-1)
                 {
-                    classeChoisie=afficherListeClasses(obtenirNomsClasses(), obtenirSkinsClasses(), nombre_classes, police, couleurBlanche);
-                    if(classeChoisie!="fermer")
-                    {
-                        numClassePerso[p-1][j-1]=ajouterPersonnage(classeChoisie, p-1, j);
-                    }
-                    ecran = SDL_SetVideoMode(LARGEUR_CARTE*(LARGEUR_CASE+1), HAUTEUR_CARTE*(HAUTEUR_CASE+2), 32, SDL_HWSURFACE|SDL_DOUBLEBUF);
+                    p=0;
+                    printf("selectionnez des personnages\n");
                 }
-                break;
-            default:
-                break;
+            }
+            for(i=0; i<5; i++)
+            {
+                if(event.button.x>position_carte[i].x&&event.button.x<position_carte[i].x+previsualisation[0]->w&&event.button.y>position_carte[i].y&&event.button.y<position_carte[i].y+previsualisation[0]->h)
+                {
+                    c=i;
+                    selectionnerCarte(obtenirNomsCartes()[c]);
+                    num_carte_selectionnee=c+1;
+                }
+            }
+            if(event.button.x>posTextes[0].x&&event.button.x<posTextes[0].x+textes[0]->w)
+                j=1;
+            if(event.button.x>posTextes[NB_PERSO].x&&event.button.x<posTextes[NB_PERSO].x+textes[NB_PERSO]->w)
+                j=2;
+            for(i=0; i<NB_PERSO; i++)
+            {
+                if(event.button.y>posTextes[i].y&&event.button.y<posTextes[i].y+textes[i]->h)
+                    p=i+1;
+            }
+            if(j!=0&&p!=0)
+            {
+                classeChoisie=afficherListeClasses(obtenirNomsClasses(), obtenirSkinsClasses(), nombre_classes, police, couleurBlanche);
+                if(classeChoisie!="fermer")
+                {
+                    numClassePerso[p-1][j-1]=ajouterPersonnage(classeChoisie, p-1, j);
+                }
+                ecran = SDL_SetVideoMode(LARGEUR_CARTE*(LARGEUR_CASE+1), HAUTEUR_CARTE*(HAUTEUR_CASE+2), 32, SDL_HWSURFACE|SDL_DOUBLEBUF);
+            }
+            break;
+        default:
+            break;
         }
-        for(i=0;i<NB_JOUEURS*NB_PERSO;i++)
+        for(i=0; i<NB_JOUEURS*NB_PERSO; i++)
         {
             SDL_BlitSurface(textes[i],NULL,ecran,&(posTextes[i]));
         }
-        for(i=0;i<NB_PERSO;i++){
-            for(k=0;k<NB_JOUEURS;k++){
+        for(i=0; i<NB_PERSO; i++)
+        {
+            for(k=0; k<NB_JOUEURS; k++)
+            {
                 positions_images[i][k].y=posTextes[i].y+textes[i]->h;
                 positions_images[i][k].x=posTextes[NB_PERSO*k].x+(textes[NB_PERSO*k]->w-images_classes[0]->w)/2;
                 images_persos[i][k]=images_classes[numClassePerso[i][k]];
@@ -496,7 +515,7 @@ int affichage_menu_configuration()
         SDL_BlitSurface(texte2,NULL,ecran,&pos_texte2);
         SDL_BlitSurface(texte3,NULL,ecran,&pos_texte3);
         SDL_BlitSurface(texte3,NULL,ecran,&pos_texte3_bis);
-        for(i=0;i<5;i++)
+        for(i=0; i<5; i++)
         {
             SDL_BlitSurface(previsualisation[i],NULL,ecran,&position_carte[i]);
         }
@@ -514,13 +533,16 @@ int affichage_menu_configuration()
     SDL_FreeSurface(texte2);
     SDL_FreeSurface(texte3);
     SDL_FreeSurface(lancer_partie);
-    for(i=0;i<5;i++){
+    for(i=0; i<5; i++)
+    {
         SDL_FreeSurface(previsualisation[i]);
     }
-    for(i=0;i<NB_PERSO*NB_JOUEURS;i++){
+    for(i=0; i<NB_PERSO*NB_JOUEURS; i++)
+    {
         SDL_FreeSurface(textes[i]);
     }
-    for(i=0;i<nombre_classes;i++){
+    for(i=0; i<nombre_classes; i++)
+    {
         SDL_FreeSurface(images_classes[i]);
     }
     return 0;
@@ -534,157 +556,135 @@ int affichage_menu_configuration()
  * \param la carte au format texte (une lettre = une case)
  */
 
-int affichage_carte(char ** Map)
+int affichage_carte()
 {
     int i,j=0;
     int nombre_classes=nbClasses();
-    int nombre_terrains=4; //a changer
     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* classes[nombre_classes];
-    SDL_Surface* terrains[nombre_terrains];
+    SDL_Surface* cases[HAUTEUR_CARTE][LARGEUR_CARTE];
     SDL_Surface* persos[NB_PERSO*NB_JOUEURS];
     SDL_Surface* Case_brillante=NULL;
     SDL_Surface* Guerrier_select=NULL;
-    SDL_Rect Position_Case[LARGEUR_CARTE*HAUTEUR_CARTE];
+    SDL_Rect Position_Case[HAUTEUR_CARTE][LARGEUR_CARTE];
     SDL_Rect Position_Perso[NB_PERSO*NB_JOUEURS];
     SDL_Rect Position_Case_brillante;
     SDL_Rect Position_Guerrier_select;
 
-    for(i=0;i<nombre_classes;i++){
-        classes[i]=SDL_LoadBMP(obtenirSkinsClasses()[i]);
-        if (!classes[i])
+    for(i=0; i<LARGEUR_CARTE; i++)
+    {
+        for(j=0; j<HAUTEUR_CARTE; j++)
         {
-            printf("Unable to load bitmap: %s\n", SDL_GetError());
-            return 1;
+            cases[j][i]=SDL_LoadBMP(ObtenirRessourceTerrain(i,j));
+            if (!cases[j][i])
+            {
+                printf("Unable to load bitmap: %s\n", SDL_GetError());
+                return 1;
+            }
+            SDL_SetColorKey(cases[j][i], SDL_SRCCOLORKEY, SDL_MapRGB(cases[j][i]->format, 0, 0, 255));
         }
-        SDL_SetColorKey(classes[i], SDL_SRCCOLORKEY, SDL_MapRGB(classes[i]->format, 0, 0, 255));
     }
-    for(i=0;i<nombre_terrains;i++){
-        terrains[i]=SDL_LoadBMP(obtenirSkinsTerrains()[i]);
-        if (!terrains[i])
+    for(i=0; i<nombre_classes; i++)
+    {
+        classes[i]=SDL_LoadBMP(obtenirSkinsClasses()[i]);
+        if (!classes[i])
         {
             printf("Unable to load bitmap: %s\n", SDL_GetError());
             return 1;
         }
-        SDL_SetColorKey(terrains[i], SDL_SRCCOLORKEY, SDL_MapRGB(terrains[i]->format, 0, 0, 255));
+        SDL_SetColorKey(classes[i], SDL_SRCCOLORKEY, SDL_MapRGB(classes[i]->format, 0, 0, 255));
     }
+
     Guerrier_select = SDL_LoadBMP("../resources/Skins/guerrier_select.bmp");
-                    if (!Guerrier_select)
-                    {
-                        printf("Unable to load bitmap: %s\n", SDL_GetError());
-                        return 1;
-                    }
+    if (!Guerrier_select)
+    {
+        printf("Unable to load bitmap: %s\n", SDL_GetError());
+        return 1;
+    }
     SDL_SetColorKey(Guerrier_select, SDL_SRCCOLORKEY, SDL_MapRGB(Guerrier_select->format, 0, 0, 255));
 
     Case_brillante = SDL_LoadBMP("../resources/Skins/case_brillante.bmp");
-                    if (!Case_brillante)
-                    {
-                        printf("Unable to load bitmap: %s\n", SDL_GetError());
-                        return 1;
-                    }
-    SDL_SetColorKey(Case_brillante, SDL_SRCCOLORKEY, SDL_MapRGB(Case_brillante->format, 0, 0, 255));
-
-    for(i=0;i<LARGEUR_CARTE;i+=2)
+    if (!Case_brillante)
     {
-        for(j=0;j<HAUTEUR_CARTE;j++)
-            {
-                Position_Case[j*LARGEUR_CARTE+i].x=LARGEUR_CASE*i;
-                Position_Case[j*LARGEUR_CARTE+i].y=HAUTEUR_CASE*j;
-            }
+        printf("Unable to load bitmap: %s\n", SDL_GetError());
+        return 1;
     }
-    for(i=1;i<LARGEUR_CARTE;i+=2)
+    SDL_SetColorKey(Case_brillante, SDL_SRCCOLORKEY, SDL_MapRGB(Case_brillante->format, 0, 0, 255));
+    for(j=0; j<HAUTEUR_CARTE; j++)
     {
-        for(j=0;j<HAUTEUR_CARTE;j++)
-            {
-                Position_Case[j*LARGEUR_CARTE+i].x=LARGEUR_CASE*i;
-                Position_Case[j*LARGEUR_CARTE+i].y=HAUTEUR_CASE*j+(HAUTEUR_CASE/2);
-            }
+        for(i=0; i<LARGEUR_CARTE; i+=2)
+        {
+            Position_Case[j][i].x=i*LARGEUR_CASE;
+            Position_Case[j][i].y=j*HAUTEUR_CASE;
+        }
+        for(i=1; i<LARGEUR_CARTE; i+=2)
+        {
+            Position_Case[j][i].x=i*LARGEUR_CASE;
+            Position_Case[j][i].y=j*HAUTEUR_CASE+(HAUTEUR_CASE/2);
+        }
     }
-
     while(etat!=FERMER&&etat!=VICTOIRE)
     {
         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;
-                    break;
-                case SDL_MOUSEBUTTONDOWN:
-                    deplacement_personnage(event.button.x,event.button.y);
-                    break;
-                case SDL_MOUSEMOTION:
-                    if(event.motion.x<LARGEUR_CARTE*LARGEUR_CASE&&event.motion.y<HAUTEUR_CARTE*HAUTEUR_CASE)
-                    {
-                        Position_Case_brillante.x = get_position_case_x(deplacement_brillance(event.motion.x,event.motion.y));
-                        Position_Case_brillante.y = get_position_case_y(deplacement_brillance(event.motion.x,event.motion.y));
-                    }
-                    break;
-                case SDL_KEYDOWN:/* Si c'est un événement de type "touche pressée" */
-                    switch(event.key.keysym.sym){
-                        case SDLK_n:
-                            persosuivant();
-                            break;
-                        case SDLK_ESCAPE:
-                            afficher_menu();
-                            break;
-                        default:
-                            break;
-                    }
+        switch(event.type) /* Test du type d'événement */
+        {
+        case SDL_QUIT: /* Si c'est un événement de type "Quitter" */
+            etat=FERMER;
+            break;
+        case SDL_MOUSEBUTTONDOWN:
+            //deplacement_personnage(event.button.x,event.button.y);
+            break;
+        case SDL_MOUSEMOTION:
+            if(event.motion.x<LARGEUR_CARTE*LARGEUR_CASE&&event.motion.y<HAUTEUR_CARTE*HAUTEUR_CASE)
+            {
+                //Position_Case_brillante.x = get_position_case_x(deplacement_brillance(event.motion.x,event.motion.y));
+                //Position_Case_brillante.y = get_position_case_y(deplacement_brillance(event.motion.x,event.motion.y));
+            }
+            break;
+        case SDL_KEYDOWN:/* Si c'est un événement de type "touche pressée" */
+            switch(event.key.keysym.sym)
+            {
+            case SDLK_n:
+                //persosuivant();
+                break;
+            case SDLK_ESCAPE:
+                afficher_menu();
+                break;
+            default:
                 break;
             }
+            break;
+        }
         /*for(i=0;i<NB_PERSO;i++){
             Position_Perso[i].x=get_position_perso_x(i);
             Position_Perso[i].y=get_position_perso_y(i);
         }
         Position_Guerrier_select.x = get_position_case_x(&Position_Perso[persoactuel()]);
         Position_Guerrier_select.y = get_position_case_y(&Position_Perso[persoactuel()]);
-    */
+        */
         SDL_FillRect(ecran,NULL,SDL_MapRGB(ecran->format,0,0,0));
-        for(i=0;i<HAUTEUR_CARTE;i++)
+        for(i=0; i<LARGEUR_CARTE; i++)
         {
-            printf(Map[i]);
-            for(j=0;j<LARGEUR_CARTE;j++)
-                {
-                    switch(Map[i][j])
-                    {
-                        case 80: //"P" en ASCII
-                            printf("test1 \n");
-                            SDL_BlitSurface(terrains[0],NULL,ecran,&Position_Case[i]);
-                            printf("test \n");
-                            break;
-                        case 70: //"F" en ASCII
-                            printf("test1 \n");
-                            SDL_BlitSurface(terrains[1],NULL,ecran,&Position_Case[i]);
-                            printf("test \n");
-                            break;
-                        case 82: //"R" en ASCII
-                            printf("test1 \n");
-                            SDL_BlitSurface(terrains[2],NULL,ecran,&Position_Case[i]);
-                            printf("test \n");
-                            break;
-                        case 77: //"M" en ASCII
-                            printf("test1 \n");
-                            SDL_BlitSurface(terrains[3],NULL,ecran,&Position_Case[i]);
-                            printf("test \n");
-                            break;
-                        default:
-                            break;
-                    }
-                }
+            for(j=0; j<HAUTEUR_CARTE; j++)
+            {
+                SDL_BlitSurface(cases[j][i],NULL,ecran,&Position_Case[j][i]);
             }
-           for(i=0;i<NB_PERSO*NB_JOUEURS;i++)
-           {
-                //TODO
-           }
-            /*SDL_BlitSurface(Guerrier_select,NULL,ecran,&Position_Guerrier_select);
-            SDL_BlitSurface(Case_brillante,NULL,ecran,&Position_Case_brillante);*/
-
         }
-        SDL_Flip(ecran);
-    //free les surfaces*/
-    etat=FERMER;
-    return 0;
+    SDL_Flip(ecran);
+    }
+    for(i=0; i<NB_PERSO*NB_JOUEURS; i++)
+    {
+        //TODO
+    }
+    /*SDL_BlitSurface(Guerrier_select,NULL,ecran,&Position_Guerrier_select);
+    SDL_BlitSurface(Case_brillante,NULL,ecran,&Position_Case_brillante);*/
+
+
+
+//free les surfaces*/
+etat=FERMER;
+return 0;
 }
 
 /*!
@@ -705,7 +705,7 @@ int afficher_menu()
     pos_bouton_quitter.y=(HAUTEUR_CARTE*HAUTEUR_CASE-HAUTEUR_BOUTON)/2+HAUTEUR_BOUTON;
     pos_bouton_continuer.y=(HAUTEUR_CARTE*HAUTEUR_CASE-HAUTEUR_BOUTON)/2-HAUTEUR_BOUTON;
 
-        bouton_continuer = SDL_LoadBMP("../resources/Skins/continuer.bmp");
+    bouton_continuer = SDL_LoadBMP("../resources/Skins/continuer.bmp");
     if (!bouton_continuer)
     {
         printf("Unable to load bitmap: %s\n", SDL_GetError());
@@ -718,33 +718,38 @@ int afficher_menu()
         printf("Unable to load bitmap: %s\n", SDL_GetError());
         return 1;
     }
-    while(etat!=FERMER){
-            switch(event.type) /* Test du type d'événement */
+    while(etat!=FERMER)
+    {
+        switch(event.type) /* Test du type d'événement */
+        {
+        case SDL_QUIT: /* Si c'est un événement de type "Quitter" */
+            etat=FERMER;
+            break;
+        case SDL_MOUSEBUTTONDOWN:
+            if(pos_bouton_continuer.x<event.button.x&&event.button.x<pos_bouton_continuer.x+LARGEUR_BOUTON)
             {
-                case SDL_QUIT: /* Si c'est un événement de type "Quitter" */
+                if(pos_bouton_continuer.y<event.button.y&&event.button.y<pos_bouton_continuer.x+HAUTEUR_BOUTON)
+                {
+                    return 0;
+                }
+                if(pos_bouton_quitter.y<event.button.y&&event.button.y<pos_bouton_quitter.x+HAUTEUR_BOUTON)
+                {
                     etat=FERMER;
-                    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){
-                            return 0;
-                        }
-                        if(pos_bouton_quitter.y<event.button.y&&event.button.y<pos_bouton_quitter.x+HAUTEUR_BOUTON){
-                            etat=FERMER;
-                        }
-                    }
-                    break;
-                case SDL_KEYDOWN:/* Si c'est un événement de type "touche pressée" */
-                    switch(event.key.keysym.sym){
-                        case SDLK_ESCAPE:
-                            return 0;
-                            break;
-                        default:
-                            break;
-                    }
+                }
+            }
+            break;
+        case SDL_KEYDOWN:/* Si c'est un événement de type "touche pressée" */
+            switch(event.key.keysym.sym)
+            {
+            case SDLK_ESCAPE:
+                return 0;
+                break;
+            default:
                 break;
             }
+            break;
         }
+    }
     //free les surfaces
     return 0;
 }
diff --git a/src/affichage.h b/src/affichage.h
index 0eb9c74..20a99ce 100644
--- a/src/affichage.h
+++ b/src/affichage.h
@@ -24,7 +24,7 @@ int affichage_menu_configuration();
 
 int affichage_ecran_accueil();
 
-int affichage_carte(char** Map);
+int affichage_carte();
 
 int afficher_menu();
 
-- 
GitLab