test pour menu

This commit is contained in:
2024-12-24 15:51:26 +01:00
parent 7f9433f505
commit c50388def9
8 changed files with 67 additions and 27 deletions

View File

@@ -25,7 +25,7 @@
void screenDisplay (char **tab, int x ,int y )
{
// puts("0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 ");
char element[7] = { '#', '_', 'S', '.', '*', '@', '+' };
char element[9] = { '#', '_', 'S', '.', '*', '@', '+' , 'o', 'O'};
for (int i = 0; i < x; ++i)
{
for (int j = 0; j < y; ++j)
@@ -41,23 +41,41 @@ void screenDisplay (char **tab, int x ,int y )
* \param tab Le tableau 2d de la zone de jeu.
* \param display_user La structure qui possede tous ce qu'il faut pour
* l'affichage SDL
* \param player_pos la position du joueur
* \param fov Le fov de la vision du joueur, -1 si desactiver.
* \return Void
*/
void screenDisplayGameSDL (char **tab, dis *display_user)
void screenDisplayGameSDL (char **tab, dis *display_user, vect *player_pos, int fov)
{
unsigned int display_game
= display_user->size_window - display_user->size_menu;
int size = display_game / display_user->size_box;
unsigned int marge = display_user->size_menu / 2;
unsigned int i, j;
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;
limit_j = player_pos->x + fov;
if(limit_j > display_user->size_box) limit_j = display_user->size_box;
size = display_game / (fov*2 - 1);
}
SDL_Surface *img;
SDL_Texture *texture;
for (i = 0; i < display_user->size_box; ++i)
for (i = start_i; i < limit_i; ++i)
{
for (j = 0; j < display_user->size_box; ++j)
for (j = start_j; j < limit_j; ++j)
{
vect pos = { i * size + marge, j * size };
vect pos = { x * size + marge, y * size};
switch (tab[j][i])
{
case EMPTY:
@@ -87,7 +105,10 @@ void screenDisplayGameSDL (char **tab, dis *display_user)
displayImage (display_user->renderer, texture, pos, size);
SDL_FreeSurface (img);
SDL_DestroyTexture (texture);
y++;
}
y = 0;
x++;
}
SDL_RenderPresent (display_user->renderer);