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 34ff2193e15ddc35b3ff8fca0b2003783e02d0cb..b014b4c107a7abe2e10af291b4b57ef39ba727c1 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 f28dfe02527d746861ab4b7a4fd28e811803514a..9db7c0d83c5beed6025d981a6304ae7d879917ee 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 6e59c1a489cadfaab490e8b1259479c42048ec11..ebe9a2dbf350d550cbf6316a206180b2c86ce997 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 045b7918d3005ad3d85ec894ffef76b46f0a806e..9b1ffdb4bc62f8b964a36dc59b1616020576d94d 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; } }