diff --git a/image/background.png b/image/background.png new file mode 100644 index 0000000..ace88af --- /dev/null +++ b/image/background.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:038caaa7a6f55a31a251dd73e32ee3fa1cab52b31120d79a61edab207f6a2918 +size 5279 diff --git a/image/box_on_target.png b/image/box_on_target.png index b2f0e51..0e9a94d 100644 --- a/image/box_on_target.png +++ b/image/box_on_target.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:82afc5f71fa8d56fe2862a19934672a6ce7d3b6840997d80cdc890b123a591e9 -size 4301 +oid sha256:9198830c4de46714bab040747f9eaa729fef250314b3a3f5fb359b724ffd94ab +size 4297 diff --git a/include/display.h b/include/display.h index 9712b13..02de209 100644 --- a/include/display.h +++ b/include/display.h @@ -12,6 +12,6 @@ void displayImage (SDL_Renderer *renderer, SDL_Texture *texture, vect pos, void initSDL (dis *display_user); 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 backgroundDisplay(dis *display_user); #endif // !DISPLAY_H diff --git a/script/display.c b/script/display.c index 9a0ec0f..12e4b67 100644 --- a/script/display.c +++ b/script/display.c @@ -54,12 +54,15 @@ void screenDisplayGameSDL (char **tab,vect dim_tab, dis *display_user, vect *pla unsigned int i, j, x = 0, y = 0; int start_i = 0, start_j = 0; unsigned int limit_i = display_user->size_box, limit_j = display_user->size_box; + if (fov >= 0 ) { start_i = player_pos->y - fov+1; if(start_i < 0) start_i = 0; start_j = player_pos->x - fov +1 ; if(start_j < 0) start_j = 0; + + limit_i = player_pos->y + fov; //if(limit_i > display_user->size_box) limit_i = display_user->size_box; 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); 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; +} diff --git a/script/function.c b/script/function.c index 53d6610..37fd59f 100644 --- a/script/function.c +++ b/script/function.c @@ -274,13 +274,13 @@ int inGameLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets, vect size_menu = { display_user->size_menu - 10, display_user->size_window / 3 - 10 }; 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 - = { display_user->size_window / 3 + 10, - display_user->size_window - display_user->size_menu + 10 }; + = { display_user->size_window / 3 + 60, + display_user->size_window - display_user->size_menu + 50 }; vect coor_move_box = { (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) fov = 5; @@ -369,7 +369,7 @@ int inGameLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets, vect size_txt = { display_user->size_menu, display_user->size_window }; char txt_empty[100] - = " " + = " " " "; displayTextSDL (display_user, txt_empty, coor_time, size_txt, 30); @@ -378,19 +378,20 @@ int inGameLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets, if (indice_button <= 3) { snprintf (txt_button, 63, - " - : Niveau %d : - ", + " - : Niveau %d : - ", + indice_button); } else if (indice_button == dim_tab->y / 5) { snprintf (txt_button, 63, - " - : Creer un niveau %d : - ", + " - : Creer un niveau %d : -", indice_button - 3); } else { snprintf (txt_button, 63, - " - : Niveau custom %d : - ", + " - : Niveau custom %d : - ", indice_button - 3); } displayTextSDL (display_user, txt_button, coor_time, @@ -398,12 +399,12 @@ int inGameLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets, } else { - vect size_txt = { display_user->size_menu, + vect size_txt = { display_user->size_menu-50, display_user->size_window }; - char txt_empty[100] - = " - : Echap pour quitter : - "; + char txt_empty[70] + = " - : Echap pour quitter : - "; displayTextSDL (display_user, txt_empty, coor_time, - size_txt, 30); + size_txt, 25); } } } diff --git a/script/main.c b/script/main.c index 3861777..0504125 100644 --- a/script/main.c +++ b/script/main.c @@ -44,10 +44,12 @@ int main () nullScore(&score_user); SDL_RenderClear(display_user.renderer); + // Loop pour le jeu entier menu et les jeux. while(output != 0) { SDL_RenderClear(display_user.renderer); + backgroundDisplay(&display_user); if(output == -1) { menu = generatorMenu("maps", &dim_menu, &pos);