From c9a58e52354ca3e6ab2fc51d6784be8b040705e9 Mon Sep 17 00:00:00 2001 From: suck5u <suck5u@etu.univ-lorraine.fr> Date: Tue, 29 Dec 2020 14:54:16 +0100 Subject: [PATCH] =?UTF-8?q?Correction=20de=20la=20direction=20des=20balles?= =?UTF-8?q?=20apr=C3=A8s=20rechargement?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/soldier.c | 25 +++++++++++++++++++------ code/world_data.c | 2 +- data/save.txt | 4 ++-- 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/code/soldier.c b/code/soldier.c index a0fa7bf..a8cc6ae 100644 --- a/code/soldier.c +++ b/code/soldier.c @@ -36,7 +36,14 @@ void init_bullet(soldier_t *soldier) init_sprite(&soldier->charger[i].sprite, -10, -10, BULLET_WIDTH, BULLET_WIDTH, BULLET_SPEED,1); set_invisible(&soldier->charger[i].sprite); soldier->charger[i].shoot = 0; - soldier->charger[i].sens = soldier->charger[29].sens; + //soldier->charger[i].sens = soldier->charger[29].sens; + if(soldier->is_looking_up == 1) + soldier->charger[i].sens = 'h'; + else if(soldier->direction == 1) + soldier->charger[i].sens = 'd'; + else if(soldier->direction == -1) + soldier->charger[i].sens = 'g'; + soldier->DestBullet[i].x = soldier->charger[i].sprite.x; soldier->DestBullet[i].y = soldier->charger[i].sprite.y; soldier->DestBullet[i].w = BULLET_WIDTH; @@ -85,7 +92,8 @@ void shoot(soldier_t *soldier){ { if(soldier->direction == 1) soldier->charger[soldier->present_bullet].sprite.x = soldier->sprite.x+SOLDIER_WIDTH/2-2; - else{ + else + { soldier->charger[soldier->present_bullet].sprite.x = soldier->sprite.x+30; } soldier->charger[soldier->present_bullet].sprite.y = ORDERED_BULLET-SOLDIER_HEIGHT+15; @@ -122,13 +130,18 @@ void shoot(soldier_t *soldier){ void shootAfterE(soldier_t *soldier){ for (int i = 0; i < NB_BULLET; ++i) { - if (soldier->charger[i].shoot == 1 && over_right(&soldier->charger[i].sprite) == 0 && over_left(&soldier->charger[i].sprite) == 0 ){ - if (soldier->charger[i].sens == 'd'){ + if (soldier->charger[i].shoot == 1 && over_right(&soldier->charger[i].sprite) == 0 && over_left(&soldier->charger[i].sprite) == 0 ) + { + if (soldier->charger[i].sens == 'd') + { soldier->charger[i].sprite.x += soldier->charger[i].sprite.v; - }else if (soldier->charger[i].sens == 'g') + } + else if (soldier->charger[i].sens == 'g') { soldier->charger[i].sprite.x -= soldier->charger[i].sprite.v; - }else{ + } + else + { soldier->charger[i].sprite.y -= soldier->charger[i].sprite.v; } //print_sprite(&soldier->charger[i].sprite); diff --git a/code/world_data.c b/code/world_data.c index acba8a1..075b076 100644 --- a/code/world_data.c +++ b/code/world_data.c @@ -213,7 +213,7 @@ void handle_events(SDL_Event *event,world_t *world) save_game(world); //Libère la mémoire du tableau DestBullet pour l'affichage free(world->soldier.DestBullet); - clearEnemies(&world->rounds); + //clearEnemies(&world->rounds); world->gameover = 1; } diff --git a/data/save.txt b/data/save.txt index b6216b9..f24eb31 100644 --- a/data/save.txt +++ b/data/save.txt @@ -1,8 +1,8 @@ /Vie du joueur au début 10 /Nombre d'ennemis au début -15 +11 /Nombre d'ennemis en plus à chaque manche -5 +3 /Nombre de balles 30 -- GitLab