From 9a386fb85b0c0d3372ada10b58e4e58e38a8c3d5 Mon Sep 17 00:00:00 2001 From: belkhiritaha <belkhiri.taha53@gmail.com> Date: Mon, 27 Jun 2022 13:34:37 +0200 Subject: [PATCH] main qui compile --- .../jeu_appren_par_renfo/src/render.c | 21 +++++++++++++++---- .../jeu_appren_par_renfo/src/render.h | 2 +- 2 files changed, 18 insertions(+), 5 deletions(-) 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 5ec13d3..72fb75b 100644 --- a/travail_de_groupe/jeu_appren_par_renfo/src/render.c +++ b/travail_de_groupe/jeu_appren_par_renfo/src/render.c @@ -64,6 +64,7 @@ void drawRays(int map[][MAP_WIDTH]){ if (ra > 2*pi) ra -= 2*pi; for (r = 0; r<NB_RAYS; r++){ // check horizontal rays + printf("ray %d\n", r); dof = 0; float disH = 100000, hx = player.x, hy = player.y; float aTan = -1/tan(ra); @@ -102,6 +103,8 @@ void drawRays(int map[][MAP_WIDTH]){ } } + printf("hx %f hy %f\n", hx, hy); + // check vertical rays dof = 0; float disV = 100000, vx = player.x, vy = player.y; @@ -118,6 +121,11 @@ void drawRays(int map[][MAP_WIDTH]){ xo = BLOCK_SIZE; yo = -xo*nTan; } + if (ra == pi || ra == 0){ // looking horizontally + rx = player.x; + ry = player.y; + dof = DOF; + } while (dof < DOF){ mx = (int)rx>>6; my = (int)ry>>6; @@ -135,6 +143,9 @@ void drawRays(int map[][MAP_WIDTH]){ dof++; } } + + printf("vx %f vy %f\n", vx, vy); + if (disH < disV) { rx = hx; ry = hy; @@ -157,17 +168,18 @@ void drawRays(int map[][MAP_WIDTH]){ float lineH = (screenDimension.h/2)/distT; rect.x = r; - rect.y = lineH; + rect.y = screenDimension.h/2 - lineH; rect.w = 1; - rect.h = lineH; + rect.h = (int)(2 * screenDimension.h * lineH/200); if (disH < disV) { - SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255); + SDL_SetRenderDrawColor(renderer, 255, rand() % 255, 0, 255); } else { SDL_SetRenderDrawColor(renderer, 0, 255, 0, 255); } SDL_RenderFillRect(renderer, &rect); + SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255); } } @@ -196,7 +208,8 @@ void drawMap2D(int map[][MAP_WIDTH]){ void drawGame(){ SDL_RenderClear(renderer); - drawMap2D(map); + drawRays(map); + //drawMap2D(map); SDL_RenderPresent(renderer); } diff --git a/travail_de_groupe/jeu_appren_par_renfo/src/render.h b/travail_de_groupe/jeu_appren_par_renfo/src/render.h index c9365ed..2afb116 100644 --- a/travail_de_groupe/jeu_appren_par_renfo/src/render.h +++ b/travail_de_groupe/jeu_appren_par_renfo/src/render.h @@ -14,7 +14,7 @@ #define DR 0.0174533 #define FOV_ANGLE 60 #define pi 3.14159265358979323846 -#define NB_RAYS (screenDimension.w) +#define NB_RAYS (screenDimension.w/40) #define ANGLE_INC ((DR * FOV_ANGLE) / NB_RAYS) extern SDL_Window *window; -- GitLab