diff --git a/resources/Maps.xml b/resources/Maps.xml index 43b9e6ca855e1510141ef0784a92e2f7c01e408a..f31ce2f226eed8cb494adb77940616a4686dc458 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 3b465d6fa23b862d450cafd5dc5fb16e26c7fa7d..afbb4675adcd798534075a8f4a29b6a61a322bd7 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 0eb9c74b6812d0464c3a47c564f536557d17ec40..20a99ce132564a0cf7b60747113ad459b9efe16d 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();