diff --git a/code/soldier.c b/code/soldier.c index a0fa7bfcd084893d69bd1212898e3f315851ee16..a8cc6aea28b1d5c4cb6cf4114273c1e5c155b17a 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 acba8a1a0b0e176b12191ec3d047c0ae93362920..075b076cf6eab6d39c1e472830a4a60397ba9ea4 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 b6216b901f05fa92548275658185f45fbd8fc970..f24eb31e9a2f70ec33aec790dc0846e06c8416c9 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