Skip to content
Snippets Groups Projects
Commit d25b05a3 authored by Montjoie Henri's avatar Montjoie Henri
Browse files

menu fonctionnel et affichage de la carte lue dans un fichier

parent 9afffc73
No related branches found
No related tags found
No related merge requests found
Pipeline #
...@@ -34,25 +34,19 @@ FFPFMP ...@@ -34,25 +34,19 @@ FFPFMP
MAP4 16 10 MAP4 16 10
MPPFFPPPFM MPPFFPPPFMMPPFFP
MPPFFPPPFM PPFMMPPFFPPPFMMP
MPPFFPPPFM PFFPPPFMMPPFFPPP
MPPFFPPPFM FMMPPFFPPPFMMPPF
MPPFFPPPFM FPPPFMMPPFFPPPFM
MPPFFPPPFM MPPFFPPPEMMPPFFP
MPPFFPPPFM PPFMMEEEFPPPFMMP
MPPFFPPPFM PFFPPPEEMPPFFPPP
MPPFFPPPFM FMMPPFFPPPFMMPPF
MPPFFPPPFM FPPPFMMPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MPPFFPPPFM
MAP5 16 10 MAP5 10 16
MPPFFPPPFM MPPFFPPPFM
MPPFFPPPFM MPPFFPPPFM
...@@ -69,4 +63,5 @@ MPPFFPPPFM ...@@ -69,4 +63,5 @@ MPPFFPPPFM
MPPFFPPPFM MPPFFPPPFM
MPPFFPPPFM MPPFFPPPFM
MPPFFPPPFM MPPFFPPPFM
MPPFFPPPFM MPPFFPPPFM
\ No newline at end of file
resources/case_brillante.bmp

15.2 KiB | W: | H:

resources/case_brillante.bmp

15.2 KiB | W: | H:

resources/case_brillante.bmp
resources/case_brillante.bmp
resources/case_brillante.bmp
resources/case_brillante.bmp
  • 2-up
  • Swipe
  • Onion skin
resources/foret.bmp

15.2 KiB | W: | H:

resources/foret.bmp

15.2 KiB | W: | H:

resources/foret.bmp
resources/foret.bmp
resources/foret.bmp
resources/foret.bmp
  • 2-up
  • Swipe
  • Onion skin
resources/montagne.bmp

20.3 KiB | W: | H:

resources/montagne.bmp

15.2 KiB | W: | H:

resources/montagne.bmp
resources/montagne.bmp
resources/montagne.bmp
resources/montagne.bmp
  • 2-up
  • Swipe
  • Onion skin
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
*/ */
int main_SDL() int main_SDL(char* Map)
{ {
int i,j,affichermenu; int i,j,affichermenu;
SDL_Surface* ecran=NULL; SDL_Surface* ecran=NULL;
...@@ -58,10 +58,10 @@ int main_SDL() ...@@ -58,10 +58,10 @@ int main_SDL()
SDL_WM_SetCaption("Elder Internal Ignition",NULL); SDL_WM_SetCaption("Elder Internal Ignition",NULL);
pos_bouton_quitter.x=(LARGEUR_CARTE*LARGEUR_CASE)/2; pos_bouton_quitter.x=(LARGEUR_CARTE*LARGEUR_CASE-LARGEUR_BOUTON)/2;
pos_bouton_continuer.x=(LARGEUR_CARTE*LARGEUR_CASE)/2; pos_bouton_continuer.x=(LARGEUR_CARTE*LARGEUR_CASE-LARGEUR_BOUTON)/2;
pos_bouton_quitter.y=(HAUTEUR_CARTE*HAUTEUR_CASE)/2+30; pos_bouton_quitter.y=(HAUTEUR_CARTE*HAUTEUR_CASE-HAUTEUR_BOUTON)/2+HAUTEUR_BOUTON;
pos_bouton_continuer.y=(HAUTEUR_CARTE*HAUTEUR_CASE)/2-30; pos_bouton_continuer.y=(HAUTEUR_CARTE*HAUTEUR_CASE-HAUTEUR_BOUTON)/2-HAUTEUR_BOUTON;
guerrier = SDL_LoadBMP("../resources/guerrier.bmp"); guerrier = SDL_LoadBMP("../resources/guerrier.bmp");
if (!guerrier) if (!guerrier)
...@@ -180,33 +180,62 @@ int main_SDL() ...@@ -180,33 +180,62 @@ int main_SDL()
while(quitter==0) while(quitter==0)
{ {
SDL_WaitEvent(&event); SDL_WaitEvent(&event);
switch(event.type) /* Test du type d'vnement */ if(affichermenu==1){
{ switch(event.type) /* Test du type d'vnement */
case SDL_QUIT: /* Si c'est un vnement de type "Quitter" */ {
quitter=1; case SDL_QUIT: /* Si c'est un vnement de type "Quitter" */
break; quitter=1;
case SDL_MOUSEBUTTONDOWN: break;
deplacement_personnage(event.button.x,event.button.y); 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){
affichermenu=0;
}
if(pos_bouton_quitter.y<event.button.y&&event.button.y<pos_bouton_quitter.x+HAUTEUR_BOUTON){
quitter=1;
}
}
break;
case SDL_KEYDOWN:/* Si c'est un vnement de type "touche presse" */
switch(event.key.keysym.sym){
case SDLK_ESCAPE:
affichermenu=0;
break;
default:
quitter=0;
}
break; break;
case SDL_MOUSEMOTION: }
if(event.motion.x<LARGEUR_CARTE*LARGEUR_CASE&&event.motion.y<HAUTEUR_CARTE*HAUTEUR_CASE) }
{ else{
x_case_brillante = get_position_case_x(deplacement_brillance(event.motion.x,event.motion.y)); switch(event.type) /* Test du type d'vnement */
y_case_brillante = get_position_case_y(deplacement_brillance(event.motion.x,event.motion.y)); {
} case SDL_QUIT: /* Si c'est un vnement de type "Quitter" */
quitter=1;
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)
{
x_case_brillante = get_position_case_x(deplacement_brillance(event.motion.x,event.motion.y));
y_case_brillante = get_position_case_y(deplacement_brillance(event.motion.x,event.motion.y));
}
break;
case SDL_KEYDOWN:/* Si c'est un vnement de type "touche presse" */
switch(event.key.keysym.sym){
case SDLK_n:
persosuivant();
break;
case SDLK_ESCAPE:
affichermenu=1;
break;
default:
quitter=0;
}
break; break;
case SDL_KEYDOWN:/* Si c'est un vnement de type "touche presse" */ }
switch(event.key.keysym.sym){
case SDLK_n:
persosuivant();
break;
case SDLK_ESCAPE:
affichermenu=1;
break;
default:
quitter=0;
}
break;
} }
for(i=0;i<NB_PERSO;i++){ for(i=0;i<NB_PERSO;i++){
Position_Perso[i].x=get_position_perso_x(i); Position_Perso[i].x=get_position_perso_x(i);
...@@ -219,7 +248,22 @@ int main_SDL() ...@@ -219,7 +248,22 @@ int main_SDL()
{ {
for(i=0;i<LARGEUR_CARTE*HAUTEUR_CARTE;i++) for(i=0;i<LARGEUR_CARTE*HAUTEUR_CARTE;i++)
{ {
SDL_BlitSurface(plaine,NULL,ecran,&Position_Case[i]); switch(Map[i])
{
case 80: //"P" en ASCII
SDL_BlitSurface(plaine,NULL,ecran,&Position_Case[i]);
break;
case 70: //"F" en ASCII
SDL_BlitSurface(foret,NULL,ecran,&Position_Case[i]);
break;
case 69: //"E" en ASCII
SDL_BlitSurface(eau,NULL,ecran,&Position_Case[i]);
break;
case 77: //"M" en ASCII
SDL_BlitSurface(montagne,NULL,ecran,&Position_Case[i]);
break;
}
} }
SDL_BlitSurface(Case_brillante,NULL,ecran,&Position_Case_brillante); SDL_BlitSurface(Case_brillante,NULL,ecran,&Position_Case_brillante);
for(i=0;i<NB_PERSO;i++) for(i=0;i<NB_PERSO;i++)
......
...@@ -12,8 +12,10 @@ ...@@ -12,8 +12,10 @@
#define LARGEUR_CASE 53 #define LARGEUR_CASE 53
#define HAUTEUR_CASE 71 #define HAUTEUR_CASE 71
#define NB_PERSO 3 #define NB_PERSO 3
#define HAUTEUR_BOUTON 20
#define LARGEUR_BOUTON 115
int main_SDL(); int main_SDL(char* Map);
#endif #endif
...@@ -80,12 +80,10 @@ init_jeu("../resources/Init_jeu.xml"); ...@@ -80,12 +80,10 @@ init_jeu("../resources/Init_jeu.xml");
char *Map_A = ExtraireCarte(4); char *Map_A = ExtraireCarte(4);
printf("La valeur choisie est : %c\n", Map_A[0]); printf("Map en version texte : %s\n", Map_A);
main_SDL();
main_SDL(Map_A);
return 0; return 0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment