From 3dde4a52df6383aac77d02d9deeb4bab83988c01 Mon Sep 17 00:00:00 2001
From: suck5u <suck5u@etu.univ-lorraine.fr>
Date: Mon, 28 Dec 2020 18:14:40 +0100
Subject: [PATCH] Plusieurs ennemis fonctionnels

---
 code/display.c    |  5 +++--
 code/display.h    |  2 +-
 code/enemy.c      |  8 ++------
 code/main.c       |  2 +-
 code/world_data.c | 27 +++------------------------
 5 files changed, 10 insertions(+), 34 deletions(-)

diff --git a/code/display.c b/code/display.c
index 9501f54..a8e2479 100644
--- a/code/display.c
+++ b/code/display.c
@@ -105,7 +105,7 @@ void refresh_graphics(SDL_Renderer *renderer, world_t *world,resources_t *resour
     
 }
 
-void init_ressources(SDL_Renderer *renderer, resources_t *resources)
+void init_ressources(SDL_Renderer *renderer, resources_t *resources, world_t *world)
 {
     resources->background = charger_image("../resources/background.bmp", renderer);
     
@@ -176,6 +176,7 @@ void init_ressources(SDL_Renderer *renderer, resources_t *resources)
 
 
     //resources->enemy = charger_image_transparente("../resources/Player/Right/IdleRight.bmp", renderer, 255,0,255);
+    init_enemies_ressources(renderer,resources,world);
 
     resources->powerUp = charger_image_transparente("../resources/PowerUp_Vitesse.bmp", renderer, 255,0,255);
     resources->plane = charger_image_transparente("../resources/Plane.bmp", renderer, 255,0,255);
@@ -461,7 +462,7 @@ void load_texture_enemy(resources_t *resources, SDL_Renderer *renderer, world_t
 
 void load_texture_enemies(resources_t *resources, SDL_Renderer *renderer, world_t *world, int i)
 {
-    SDL_RenderCopy(renderer, resources->enemy, NULL, &world->rounds.enemies[i].DestEnemy);
+    SDL_RenderCopy(renderer, resources->enemies[i], NULL, &world->rounds.enemies[i].DestEnemy);
 }
 
 void load_texture_powerUp(resources_t *resources, SDL_Renderer *renderer, world_t *world)
diff --git a/code/display.h b/code/display.h
index 37d46ff..a4b5c98 100644
--- a/code/display.h
+++ b/code/display.h
@@ -42,7 +42,7 @@ SDL_Texture* charger_image_transparente(const char* nomfichier, SDL_Renderer* re
 
 void refresh_graphics(SDL_Renderer *renderer, world_t *world,resources_t *resources);
 
-void init_ressources(SDL_Renderer *renderer, resources_t *resources);
+void init_ressources(SDL_Renderer *renderer, resources_t *resources, world_t *world);
 
 void init_enemies_ressources(SDL_Renderer *renderer, resources_t *resources, world_t *world);
 
diff --git a/code/enemy.c b/code/enemy.c
index 4d67d6e..4851fce 100644
--- a/code/enemy.c
+++ b/code/enemy.c
@@ -22,12 +22,11 @@ void init_enemy(enemy_t *enemy)
     }else{
       init_enemyType4(enemy);
     }
-    enemy->is_moving = 0;  
+    enemy->is_moving = 1;  
 }
 
 void init_enemyType1(enemy_t *enemy)
 {
-    srand(time(NULL));
     int random = rand()%2+0;
     if (random == 1)
     {
@@ -44,7 +43,6 @@ void init_enemyType1(enemy_t *enemy)
 
 void init_enemyType2(enemy_t *enemy)
 {
-    srand(time(NULL));
     int random = rand()%2+0;
     if (random == 1)
     {
@@ -61,7 +59,6 @@ void init_enemyType2(enemy_t *enemy)
 
 void init_enemyType3(enemy_t *enemy)
 {
-    srand(time(NULL));
     int random = rand()%2+0;
     if (random == 1)
     {
@@ -78,7 +75,6 @@ void init_enemyType3(enemy_t *enemy)
 
 void init_enemyType4(enemy_t *enemy)
 {
-    srand(time(NULL));
     int random = rand()%2+0;
     if (random == 1)
     {
@@ -95,7 +91,7 @@ void init_enemyType4(enemy_t *enemy)
 
 void enemy_walk(enemy_t *enemy,soldier_t *soldier)
 {
-  if (sprites_collide(&enemy->sprite, &soldier->sprite) != 1 && enemy->is_moving!=0)
+  if (sprites_collide(&enemy->sprite, &soldier->sprite) == 0 && enemy->is_moving == 1)
   {
     if(soldier->sprite.x > enemy->sprite.x){
     enemy->sprite.x += enemy->sprite.v;
diff --git a/code/main.c b/code/main.c
index f021cd1..b0fdccf 100644
--- a/code/main.c
+++ b/code/main.c
@@ -11,8 +11,8 @@
 
 void init(SDL_Window **window, SDL_Renderer ** renderer, resources_t *resources, world_t * world)
 {
-    init_ressources(*renderer,resources);
     init_data(world);
+    init_ressources(*renderer,resources,world);
 }    
 
 int main(void)
diff --git a/code/world_data.c b/code/world_data.c
index 14f6d72..a25a0fa 100644
--- a/code/world_data.c
+++ b/code/world_data.c
@@ -44,28 +44,10 @@ void init_data(world_t *world)
   //&world->charger = (bullet_t*)malloc(NB_BULLET*sizeof(bullet_t));
   //init_bullet(world);
 
-
-  //Initialisation du missile de l'ennemi
-  //init_sprite(&world->missile_enemy, world->enemy_shot.x+SHIP_SIZE/2-MISSILE_SIZE/2, world->enemy_shot.y+SHIP_SIZE/2+MISSILE_SIZE/2, MISSILE_SIZE, MISSILE_SIZE, MISSILE_SPEED_ENEMY,1);
-  //Rendre les deux missiles invisible
-
-  //set_invisible(&world->missile_enemy);
-  //Initialisation des ennemies
-  //init_enemies(world);
-
-  //Initialisation du power-up
-  //world->enemy_power = generate_number(0,NB_ENEMIES);
-  //init_sprite(&world->power_up, world->enemies[world->enemy_power].x, world->enemies[world->enemy_power].y, world->enemies[world->enemy_power].w, world->enemies[world->enemy_power].h, world->enemies[world->enemy_power].v, 1);
-  //set_invisible(&world->power_up);
-
   //On n'est pas à la fin du jeu
   world->gameover = 0;
-  //Valeur à -1 car elle ne correspond à aucun état connu
-  //world->state = -1;
   //Score à 0
   //world->score = 0; 
-  //Compteur à 0
-  //world->cpt = 0;  
 }
 
 
@@ -117,11 +99,12 @@ void refresh_data(world_t *world)
         enemy_walk(&world->rounds.enemies[i],&world->soldier);
         world->rounds.enemies[i].DestEnemy.x = world->rounds.enemies[i].sprite.x;
         world->rounds.enemies[i].DestEnemy.y = world->rounds.enemies[i].sprite.y;
+        //Si l'ennemi touche le soldat
+        //enemy_touch_soldier(&world->rounds.enemies[i],&world->soldier);
         enemy_dead(&world->rounds.enemies[i],&world->soldier);
-        printf("%f\n",world->rounds.enemies[i].sprite.x);
       }
     }
-    //Si la manche est finie, manche suivante
+    //Sinon si la manche est finie, manche suivante
     else
     {
       nextRound(&world->rounds);
@@ -133,10 +116,6 @@ void refresh_data(world_t *world)
 
     world->soldier.time_bullet++;
 
-
-
-    enemy_touch_soldier(&world->enemy,&world->soldier);
-
     plane_dead(&world->supplying,&world->soldier);
 
     soldier_touch_powerUP(&world->supplying.powerUP,&world->soldier);
-- 
GitLab