From 0383eb7e8ec1fcd92d8fd2c6846d5e9ab2d08f17 Mon Sep 17 00:00:00 2001 From: Taha Belkhiri <belkhiri.taha53@gmail.com> Date: Wed, 29 Jun 2022 14:09:35 +0200 Subject: [PATCH] fix du flickering --- .../jeu_appren_par_renfo/src/gest_event.c | 8 ++++++-- .../jeu_appren_par_renfo/src/player.c | 8 ++++---- .../jeu_appren_par_renfo/src/player.h | 4 ++-- .../jeu_appren_par_renfo/src/render.c | 17 +++++++++++++---- 4 files changed, 25 insertions(+), 12 deletions(-) diff --git a/travail_de_groupe/jeu_appren_par_renfo/src/gest_event.c b/travail_de_groupe/jeu_appren_par_renfo/src/gest_event.c index 34ff219..b014b4c 100644 --- a/travail_de_groupe/jeu_appren_par_renfo/src/gest_event.c +++ b/travail_de_groupe/jeu_appren_par_renfo/src/gest_event.c @@ -134,7 +134,12 @@ void gestGame() case SDL_MOUSEBUTTONDOWN: if (event.button.button == SDL_BUTTON_LEFT) { - player.isHitting = 1; + if (player.isHitting){ + player.isHitting = 0; + } + else { + player.isHitting = 1; + } } break; @@ -149,7 +154,6 @@ void gestGame() break; } } - managePlayer(); SDL_Delay(5); } diff --git a/travail_de_groupe/jeu_appren_par_renfo/src/player.c b/travail_de_groupe/jeu_appren_par_renfo/src/player.c index f28dfe0..9db7c0d 100644 --- a/travail_de_groupe/jeu_appren_par_renfo/src/player.c +++ b/travail_de_groupe/jeu_appren_par_renfo/src/player.c @@ -18,7 +18,7 @@ void initPlayer() ennemy.x = 25 * BLOCK_SIZE; ennemy.y = 5 * BLOCK_SIZE; ennemy.angle = -pi; - player.speed = 1; + player.speed = 100; player.isMoving = 0; player.HPMax = 3; player.currentHP = player.HPMax; @@ -79,16 +79,16 @@ void hitBall() int rxNet, ryNet; float distanceNet; + if (player.isHitting) + { castSingleRay(player.angle, &distanceWall, &distanceNet, &rxWall, &ryWall, &rxNet, &ryNet); printf("rayWall: %d %d\n", rxWall/BLOCK_SIZE, ryWall/BLOCK_SIZE); printf("distanceWall: %f\n", distanceWall); printf("rayNet: %d %d\n", rxNet/BLOCK_SIZE, ryNet/BLOCK_SIZE); printf("distanceNet: %f\n", distanceNet); - if (rxWall > MAP_WIDTH/2) - { // printf("hit\n"); - if (player.isHitting) + if (rxWall > MAP_WIDTH/2) { freeIntList(landingPoint); freeIntList(lastHitPoint); diff --git a/travail_de_groupe/jeu_appren_par_renfo/src/player.h b/travail_de_groupe/jeu_appren_par_renfo/src/player.h index 6e59c1a..ebe9a2d 100644 --- a/travail_de_groupe/jeu_appren_par_renfo/src/player.h +++ b/travail_de_groupe/jeu_appren_par_renfo/src/player.h @@ -11,9 +11,9 @@ #define ENTITIES_RIGHT 3 #define HIT_RANGE 2 -#define HIT_FORCE 1 +#define HIT_FORCE 20 -#define MOVEMENT_SPEED 2 +#define MOVEMENT_SPEED 20 typedef struct player{ float x; float y; 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 045b791..9b1ffdb 100644 --- a/travail_de_groupe/jeu_appren_par_renfo/src/render.c +++ b/travail_de_groupe/jeu_appren_par_renfo/src/render.c @@ -993,10 +993,18 @@ void drawGame() SDL_RenderClear(renderer); drawSkyAndGround(); castRays(map); - drawHorizentalRays(); - drawEnnemy(); - drawVerticalRays(); - drawBall(); + if (ball.x < MAP_WIDTH * BLOCK_SIZE/2){ + drawHorizentalRays(); + drawEnnemy(); + drawVerticalRays(); + drawBall(); + } + else { + drawHorizentalRays(); + drawBall(); + drawVerticalRays(); + drawEnnemy(); + } drawMap2D(map); drawFPS(); drawInfosPlayer(); @@ -1046,6 +1054,7 @@ void mainLoop() break; case GAME: drawGame(); + managePlayer(); break; } } -- GitLab