From 575f801d55b755f36bd8eba54e9cfdca642a144b Mon Sep 17 00:00:00 2001 From: Henri Montjoie <henri.montjoie@insa-rennes.fr> Date: Tue, 10 May 2016 15:47:49 +0200 Subject: [PATCH] probleme avec la fonction selectionner_carte --- src/affichage.c | 13 +++++++++++++ src/controleur.c | 7 +++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/affichage.c b/src/affichage.c index 04583e7..e7ebf93 100644 --- a/src/affichage.c +++ b/src/affichage.c @@ -369,6 +369,8 @@ int affichage_menu_configuration() 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)); + SDL_Surface* previsualisation[5]={NULL}; SDL_Rect position_carte[5]; char* path[5]; @@ -378,6 +380,8 @@ int affichage_menu_configuration() path[3]="../resources/Skins/Map_4.bmp"; path[4]="../resources/Skins/autre_map.bmp"; + int c=-1; + for(i=0;i<5;i++) { previsualisation[i]=SDL_LoadBMP(path[i]); @@ -399,6 +403,14 @@ int affichage_menu_configuration() etat=FERMER; break; case SDL_MOUSEBUTTONDOWN: + 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]); + } + } if(event.button.x>posTextes[0].x&&event.button.x<posTextes[0].x+textes[0].w) j=1; if(event.button.x>posTextes[3].x&&event.button.x<posTextes[3].x+textes[3].w) @@ -443,6 +455,7 @@ int affichage_menu_configuration() { SDL_BlitSurface(previsualisation[i],NULL,ecran,&position_carte[i]); } + if(c!=-1) SDL_BlitSurface(map_choisie,NULL,ecran,&position_carte[c]); SDL_Flip(ecran); p=0; j=0; diff --git a/src/controleur.c b/src/controleur.c index 812189b..88cd8f2 100644 --- a/src/controleur.c +++ b/src/controleur.c @@ -276,11 +276,14 @@ int selectionnerCarte(char * nomCarte){ if(initCarte(&packGlobal.Cartes_Package[i],getCarte(partieGlobale),&packGlobal)==0){ return 0; } - + printf("la carte selectionnee est %s\n",nomCarte); // Positionnement des Personnages sur la Carte_Jeu. setOnFirstJoueur(partieGlobale->participants); + for(i=0;i<TAILLE_MAX_GROUPE;i++){ - setPosition(getCurrentJoueur(partieGlobale->participants)->groupe[i],&partieGlobale->c->Tab_Cases[6+i][0]); + printf("test1\n"); + setPosition(getCurrentJoueur(partieGlobale->participants)->groupe[i],&partieGlobale->c->Tab_Cases[6+i][0]); //le probleme est ici + printf("test2\n"); } nextJoueur(partieGlobale->participants); for(i=0;i<TAILLE_MAX_GROUPE;i++){ -- GitLab