From 42b48d50ec6cb1a79ef7daf111d47b80c0289162 Mon Sep 17 00:00:00 2001 From: Taha Belkhiri <belkhiri.taha53@gmail.com> Date: Wed, 29 Jun 2022 15:05:23 +0200 Subject: [PATCH] ajout texture du ciel --- .../jeu_appren_par_renfo/Res/sky.png | Bin 0 -> 4758 bytes .../jeu_appren_par_renfo/src/render.c | 42 +++++++++++++----- 2 files changed, 31 insertions(+), 11 deletions(-) create mode 100644 travail_de_groupe/jeu_appren_par_renfo/Res/sky.png diff --git a/travail_de_groupe/jeu_appren_par_renfo/Res/sky.png b/travail_de_groupe/jeu_appren_par_renfo/Res/sky.png new file mode 100644 index 0000000000000000000000000000000000000000..1526c651f281167ff093aa7785e3b389779125d2 GIT binary patch literal 4758 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 literal 0 HcmV?d00001 diff --git a/travail_de_groupe/jeu_appren_par_renfo/src/render.c b/travail_de_groupe/jeu_appren_par_renfo/src/render.c index 9b1ffdb..9f4b0c1 100644 --- a/travail_de_groupe/jeu_appren_par_renfo/src/render.c +++ b/travail_de_groupe/jeu_appren_par_renfo/src/render.c @@ -17,6 +17,7 @@ SDL_Texture *netEdgeRightTexture; SDL_Texture *crowdTexture; SDL_Texture *playerTexture; SDL_Texture *ballTexture; +SDL_Texture *skyTexture; int **rays; int raysListLength = 0; @@ -206,13 +207,25 @@ void drawRayColumn(rayInfo_t *rayInfo) } } -void drawVerticalRays() -{ +void drawVerticalWalls(){ + rayInfo_t *current = raysListHead.next; + while (current != NULL) + { + // printf("%p\n", current); + if (current->direction && !current->isTransparent) + { + drawRayColumn(current); + } + current = current->next; + } +} + +void drawVerticalNet(){ rayInfo_t *current = raysListHead.next; while (current != NULL) { // printf("%p\n", current); - if (current->direction) + if (current->direction && current->isTransparent) { drawRayColumn(current); } @@ -220,7 +233,7 @@ void drawVerticalRays() } } -void drawHorizentalRays() +void drawHorizentalWalls() { rayInfo_t *current = raysListHead.next; while (current != NULL) @@ -874,12 +887,16 @@ void drawSkyAndGround() SDL_SetRenderDrawColor(renderer, 0, 255, 0, 255); SDL_RenderFillRect(renderer, NULL); - SDL_SetRenderDrawColor(renderer, 0, 0, 255, 255); sky.x = 0; sky.y = 0; sky.w = screenDimension.w; sky.h = screenDimension.h / 2 + player.viewAngle; - SDL_RenderFillRect(renderer, &sky); + + destRect.x = ((int)( (player.angle+pi) * RD + player.x/BLOCK_SIZE)); + destRect.y = 0; + destRect.w = 100; + destRect.h = 128/2; + SDL_RenderCopy(renderer, skyTexture, &destRect, &sky); SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255); } @@ -994,16 +1011,18 @@ void drawGame() drawSkyAndGround(); castRays(map); if (ball.x < MAP_WIDTH * BLOCK_SIZE/2){ - drawHorizentalRays(); + drawVerticalWalls(); drawEnnemy(); - drawVerticalRays(); + drawHorizentalWalls(); + drawVerticalNet(); drawBall(); } else { - drawHorizentalRays(); - drawBall(); - drawVerticalRays(); + drawVerticalWalls(); drawEnnemy(); + drawHorizentalWalls(); + drawBall(); + drawVerticalNet(); } drawMap2D(map); drawFPS(); @@ -1023,6 +1042,7 @@ void mainLoop() ballTexture = loadTexture("Res/ball_sprite.png"); netEdgeLeftTexture = loadTexture("Res/netLeft.png"); netEdgeRightTexture = loadTexture("Res/netRight.png"); + skyTexture = loadTexture("Res/sky.png"); ray1 = malloc(sizeof(int) * 2); ray2 = malloc(sizeof(int) * 2); -- GitLab