diff --git a/logique.c b/logique.c
index 63034b2c51c75e91595cbd611c4de86c32c322b6..f173f52f5b63364b6975a6756384b111f34ada08 100644
--- a/logique.c
+++ b/logique.c
@@ -27,7 +27,7 @@ void init_data(world_t * world){ //faux
     build_sprite_unique(&world->lavabo, 'L', LAVABO_LARGEUR, LAVABO_HAUTEUR, world->map);
     build_sprite_unique(&world->poubelle, 't', POUBELLE_LARGEUR, POUBELLE_HAUTEUR, world->map);
     build_sprite_unique(&world->envoi, 'e', ZONE_ENVOI_LARGEUR, ZONE_ENVOI_HAUTEUR, world->map);
-    build_sprites_tab(&world, 'X', BLOC_COMPT_SIZE, BLOC_COMPT_SIZE);
+    build_sprites_tab(world, 'P', BLOC_COMPT_SIZE, BLOC_COMPT_SIZE, NB_COMPT_1);
     
     
     /*
@@ -77,15 +77,27 @@ void build_sprite_unique (sprite_t *sprite, char nom, int largeur, int hauteur,
     if (comptX == hauteur && comptY == largeur){
         init_sprite(sprite, nom, x, y, hauteur, largeur, 0, 0);
     }
+    print_sprite(sprite);
 }
 
-void build_sprites_tab (world_t* world, char nomSprite, int largeur, int hauteur){
-
-    for (int i=0; i<SCREEN_HEIGHT; i++){
-        for (int j=0; j<SCREEN_WIDTH; j++){
-            //Parcours du tableau pour repérer le premier caractère d'un
+void build_sprites_tab (world_t* world, char nomSprite, int largeur, int hauteur, int nb_sprites){
+
+    int index = 0;
+    for (int i=0; i<SCREEN_HEIGHT; i+= hauteur){
+        for (int j=0; j<SCREEN_WIDTH; j+= largeur){
+            //Parcours du tableau pour repérer le premier caractère d'un sprite
+            if (world->map[i][j] == nomSprite){
+                init_sprite(&world->comptoire[index], nomSprite, j-SIZE_MUR, i-SIZE_MUR, largeur, hauteur, 0, 0);
+                if (index+1<nb_sprites){
+                    index++; // on incrémente vers le sprite suivant, a condition qu'il y ai assez de place prévu pour
+                }
+            }
         }
     }
+    for (int i=0; i<nb_sprites; i++){
+        print_sprite(&world->comptoire[i]);
+    }
+    
 }
 
 void init_sprite(sprite_t *sprite, char nom, int x, int y, int w, int h, int v, int state){ //faux 
@@ -100,6 +112,11 @@ void init_sprite(sprite_t *sprite, char nom, int x, int y, int w, int h, int v,
     sprite->nom = nom;
 }
 
+void print_sprite (sprite_t *sprite){
+    // Fonction permettant d'afficher les données contenues dans un sprite
+    printf("nom : %c -- x= %d | y=%d | w= %d | h= %d | v= %d | visible : %d \n", sprite->nom, sprite->x, sprite->y, sprite->w, sprite->h, sprite->v, sprite->is_visible);
+}
+
 int aleatoire (int a, int b){
     // Fonction générant une valeur aléatoire entre a (inclu) et b (exclu)
     return rand()%(b-a)+a;
diff --git a/logique.h b/logique.h
index da6a5bfb23bd6ff8fae53f851f6e7ddd66968d3f..b88f544ff7cd2b9afa7bf2748fc79593887e0d7d 100644
--- a/logique.h
+++ b/logique.h
@@ -38,7 +38,7 @@ struct sprite_s{
 
 typedef struct sprite_s sprite_t;
 
-struct world_s{   
+struct world_s{
     int gameover; /*!< Champ indiquant si l'on est à la fin du jeu */
     sprite_t joueur; /*!< Sprite du joueur */
     sprite_t four; /*!< Sprite du four */
@@ -72,6 +72,13 @@ typedef struct world_s world_t;
  */
 void init_sprite(sprite_t *sprite, char nom, int x, int y, int w, int h, int v, int state);
 
+/**
+ * @brief Affiche certains éléments d'un sprite
+ * 
+ * @param sprite 
+ */
+void print_sprite (sprite_t *sprite);
+
 /**
  * @brief Fonction initialisant un unique sprite (meuble)
  * 
@@ -86,12 +93,13 @@ void build_sprite_unique (sprite_t *sprite, char nom, int largeur, int hauteur,
 /**
  * @brief Fonction initialisant un tableau de sprites
  * 
- * @param world données du monde - contenant la map et les spirtes concernés
+ * @param world données du monde - contenant la map et les sprites concernés
  * @param nomSprite Caractère du Sprite sur la carte
  * @param largeur Largeur du sprite
  * @param hauteur Hauteur du sprite
+ * @param nb_sprites nombre d'éléments max dans le tableau de sprite
  */
-void build_sprites_tab (world_t* world, char nomSprite, int largeur, int hauteur);
+void build_sprites_tab (world_t* world, char nomSprite, int largeur, int hauteur, int nb_sprites);
 
 /**
  * \brief la fonction permet de rendre visible un sprite