Skip to content
Snippets Groups Projects
Commit 0383eb7e authored by Taha Belkhiri's avatar Taha Belkhiri
Browse files

fix du flickering

parent 408adb80
No related branches found
No related tags found
No related merge requests found
...@@ -134,8 +134,13 @@ void gestGame() ...@@ -134,8 +134,13 @@ void gestGame()
case SDL_MOUSEBUTTONDOWN: case SDL_MOUSEBUTTONDOWN:
if (event.button.button == SDL_BUTTON_LEFT) if (event.button.button == SDL_BUTTON_LEFT)
{ {
if (player.isHitting){
player.isHitting = 0;
}
else {
player.isHitting = 1; player.isHitting = 1;
} }
}
break; break;
case SDL_MOUSEBUTTONUP: case SDL_MOUSEBUTTONUP:
...@@ -149,7 +154,6 @@ void gestGame() ...@@ -149,7 +154,6 @@ void gestGame()
break; break;
} }
} }
managePlayer();
SDL_Delay(5); SDL_Delay(5);
} }
......
...@@ -18,7 +18,7 @@ void initPlayer() ...@@ -18,7 +18,7 @@ void initPlayer()
ennemy.x = 25 * BLOCK_SIZE; ennemy.x = 25 * BLOCK_SIZE;
ennemy.y = 5 * BLOCK_SIZE; ennemy.y = 5 * BLOCK_SIZE;
ennemy.angle = -pi; ennemy.angle = -pi;
player.speed = 1; player.speed = 100;
player.isMoving = 0; player.isMoving = 0;
player.HPMax = 3; player.HPMax = 3;
player.currentHP = player.HPMax; player.currentHP = player.HPMax;
...@@ -79,16 +79,16 @@ void hitBall() ...@@ -79,16 +79,16 @@ void hitBall()
int rxNet, ryNet; int rxNet, ryNet;
float distanceNet; float distanceNet;
if (player.isHitting)
{
castSingleRay(player.angle, &distanceWall, &distanceNet, &rxWall, &ryWall, &rxNet, &ryNet); castSingleRay(player.angle, &distanceWall, &distanceNet, &rxWall, &ryWall, &rxNet, &ryNet);
printf("rayWall: %d %d\n", rxWall/BLOCK_SIZE, ryWall/BLOCK_SIZE); printf("rayWall: %d %d\n", rxWall/BLOCK_SIZE, ryWall/BLOCK_SIZE);
printf("distanceWall: %f\n", distanceWall); printf("distanceWall: %f\n", distanceWall);
printf("rayNet: %d %d\n", rxNet/BLOCK_SIZE, ryNet/BLOCK_SIZE); printf("rayNet: %d %d\n", rxNet/BLOCK_SIZE, ryNet/BLOCK_SIZE);
printf("distanceNet: %f\n", distanceNet); printf("distanceNet: %f\n", distanceNet);
if (rxWall > MAP_WIDTH/2)
{
// printf("hit\n"); // printf("hit\n");
if (player.isHitting) if (rxWall > MAP_WIDTH/2)
{ {
freeIntList(landingPoint); freeIntList(landingPoint);
freeIntList(lastHitPoint); freeIntList(lastHitPoint);
......
...@@ -11,9 +11,9 @@ ...@@ -11,9 +11,9 @@
#define ENTITIES_RIGHT 3 #define ENTITIES_RIGHT 3
#define HIT_RANGE 2 #define HIT_RANGE 2
#define HIT_FORCE 1 #define HIT_FORCE 20
#define MOVEMENT_SPEED 2 #define MOVEMENT_SPEED 20
typedef struct player{ typedef struct player{
float x; float x;
float y; float y;
......
...@@ -993,10 +993,18 @@ void drawGame() ...@@ -993,10 +993,18 @@ void drawGame()
SDL_RenderClear(renderer); SDL_RenderClear(renderer);
drawSkyAndGround(); drawSkyAndGround();
castRays(map); castRays(map);
if (ball.x < MAP_WIDTH * BLOCK_SIZE/2){
drawHorizentalRays(); drawHorizentalRays();
drawEnnemy(); drawEnnemy();
drawVerticalRays(); drawVerticalRays();
drawBall(); drawBall();
}
else {
drawHorizentalRays();
drawBall();
drawVerticalRays();
drawEnnemy();
}
drawMap2D(map); drawMap2D(map);
drawFPS(); drawFPS();
drawInfosPlayer(); drawInfosPlayer();
...@@ -1046,6 +1054,7 @@ void mainLoop() ...@@ -1046,6 +1054,7 @@ void mainLoop()
break; break;
case GAME: case GAME:
drawGame(); drawGame();
managePlayer();
break; break;
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment