background plus fix pos des textes

This commit is contained in:
cyjullien1
2025-01-06 11:14:03 +01:00
parent 62c97927f7
commit 876f027a3a
6 changed files with 54 additions and 15 deletions

BIN
image/background.png LFS Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -12,6 +12,6 @@ void displayImage (SDL_Renderer *renderer, SDL_Texture *texture, vect pos,
void initSDL (dis *display_user); void initSDL (dis *display_user);
void displayTextSDL(dis *display_user,char *text, vect coor, vect size, int font_size); void displayTextSDL(dis *display_user,char *text, vect coor, vect size, int font_size);
void screenDisplayGameSDL (char **tab,vect dim_tab, dis *display_user, vect *player_pos, int fov); void screenDisplayGameSDL (char **tab,vect dim_tab, dis *display_user, vect *player_pos, int fov);
void backgroundDisplay(dis *display_user);
#endif // !DISPLAY_H #endif // !DISPLAY_H

View File

@@ -54,12 +54,15 @@ void screenDisplayGameSDL (char **tab,vect dim_tab, dis *display_user, vect *pla
unsigned int i, j, x = 0, y = 0; unsigned int i, j, x = 0, y = 0;
int start_i = 0, start_j = 0; int start_i = 0, start_j = 0;
unsigned int limit_i = display_user->size_box, limit_j = display_user->size_box; unsigned int limit_i = display_user->size_box, limit_j = display_user->size_box;
if (fov >= 0 ) if (fov >= 0 )
{ {
start_i = player_pos->y - fov+1; start_i = player_pos->y - fov+1;
if(start_i < 0) start_i = 0; if(start_i < 0) start_i = 0;
start_j = player_pos->x - fov +1 ; start_j = player_pos->x - fov +1 ;
if(start_j < 0) start_j = 0; if(start_j < 0) start_j = 0;
limit_i = player_pos->y + fov; limit_i = player_pos->y + fov;
//if(limit_i > display_user->size_box) limit_i = display_user->size_box; //if(limit_i > display_user->size_box) limit_i = display_user->size_box;
if(limit_i > dim_tab.y) limit_i = dim_tab.y; if(limit_i > dim_tab.y) limit_i = dim_tab.y;
@@ -246,3 +249,33 @@ void displayTextSDL (dis *display_user, char *text, vect coor, vect size,
SDL_DestroyTexture (message); SDL_DestroyTexture (message);
TTF_CloseFont (Sans); TTF_CloseFont (Sans);
} }
/**
* \brief Afficher l'arriere plan.
* \param display_user Tout les information du display de l'utilisateur utile.
*/
void backgroundDisplay(dis *display_user)
{
SDL_Surface *img;
SDL_Texture *texture;
img = IMG_Load("image/background.png");
texture = SDL_CreateTextureFromSurface (display_user->renderer, img);
vect pos = {0, 0};
displayImage(display_user->renderer, texture, pos, display_user->size_window);
SDL_RenderPresent (display_user->renderer);
SDL_Event event;
SDL_Delay(100);
SDL_FreeSurface (img);
SDL_DestroyTexture (texture);
return;
}

View File

@@ -274,13 +274,13 @@ int inGameLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets,
vect size_menu vect size_menu
= { display_user->size_menu - 10, display_user->size_window / 3 - 10 }; = { display_user->size_menu - 10, display_user->size_window / 3 - 10 };
vect coor_time vect coor_time
= { 10, display_user->size_window - display_user->size_menu + 10 }; = { 40, display_user->size_window - display_user->size_menu + 50 };
vect coor_move_player vect coor_move_player
= { display_user->size_window / 3 + 10, = { display_user->size_window / 3 + 60,
display_user->size_window - display_user->size_menu + 10 }; display_user->size_window - display_user->size_menu + 50 };
vect coor_move_box vect coor_move_box
= { (display_user->size_window / 3) * 2 + 10, = { (display_user->size_window / 3) * 2 + 10,
display_user->size_window - display_user->size_menu + 10 }; display_user->size_window - display_user->size_menu + 50 };
if (menu) if (menu)
fov = 5; fov = 5;
@@ -379,12 +379,13 @@ int inGameLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets,
{ {
snprintf (txt_button, 63, snprintf (txt_button, 63,
" - : Niveau %d : - ", " - : Niveau %d : - ",
indice_button); indice_button);
} }
else if (indice_button == dim_tab->y / 5) else if (indice_button == dim_tab->y / 5)
{ {
snprintf (txt_button, 63, snprintf (txt_button, 63,
" - : Creer un niveau %d : - ", " - : Creer un niveau %d : -",
indice_button - 3); indice_button - 3);
} }
else else
@@ -398,12 +399,12 @@ int inGameLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets,
} }
else else
{ {
vect size_txt = { display_user->size_menu, vect size_txt = { display_user->size_menu-50,
display_user->size_window }; display_user->size_window };
char txt_empty[100] char txt_empty[70]
= " - : Echap pour quitter : - "; = " - : Echap pour quitter : - ";
displayTextSDL (display_user, txt_empty, coor_time, displayTextSDL (display_user, txt_empty, coor_time,
size_txt, 30); size_txt, 25);
} }
} }
} }

View File

@@ -44,10 +44,12 @@ int main ()
nullScore(&score_user); nullScore(&score_user);
SDL_RenderClear(display_user.renderer); SDL_RenderClear(display_user.renderer);
// Loop pour le jeu entier menu et les jeux. // Loop pour le jeu entier menu et les jeux.
while(output != 0) while(output != 0)
{ {
SDL_RenderClear(display_user.renderer); SDL_RenderClear(display_user.renderer);
backgroundDisplay(&display_user);
if(output == -1) if(output == -1)
{ {
menu = generatorMenu("maps", &dim_menu, &pos); menu = generatorMenu("maps", &dim_menu, &pos);