From 75b3606a7b605a3e80b8cdff3e190c3b28a0c85b Mon Sep 17 00:00:00 2001
From: CHERCHEM Sarah <sarah.cherchem@etu.univ-amu.fr>
Date: Thu, 28 Nov 2024 15:09:48 +0100
Subject: [PATCH] Correction of the FireFactory class

---
 build/classes/java/main/model/Fire.class      | Bin 1641 -> 1047 bytes
 .../classes/java/main/model/FireFactory.class | Bin 1367 -> 1548 bytes
 src/main/java/model/Fire.java                 |  14 +++++---------
 src/main/java/model/FireFactory.java          |  16 +++++++++++-----
 4 files changed, 16 insertions(+), 14 deletions(-)

diff --git a/build/classes/java/main/model/Fire.class b/build/classes/java/main/model/Fire.class
index a5cf903e81972d9987dda78d61de40208314c219..12744497c0b4168a756584b31df839866c40bdf5 100644
GIT binary patch
delta 567
zcmaFKGo2&x)W2Q(7#J9w7>u|Wm>8JZ8CZB2SQ*$D8H954Q&MyEo$?clQe1OVb5rw5
z7#Y}XGV?M^>=+q@G<-@+GIR6;@{2P|GV}ASHN!X<I2ajN+&qI^IT^SZxY-$aco=vY
z_$In(@p3T;FbJ|U2=OooGl)z)?ByxO!ywKe!N?$<o0y&IoS&DRSQ4IDlHr`6S6q^q
zS5nN#pr+xIl~|UjpOcuEt{+@dl$n=qt%)f#IhWB*i#<KHB&4z+m61V21B)6)29A<^
zh!K-(nDkUt85soJGK*5H3!sj-Wvu0AV^HT}&|uJHXV3z<O?&bkrpt_alQ%GHu^2Ei
z$W3-+7N0E7%s%-KGfzDzq!<_&7?>FtL1D$f$RNqUz+lI~#K6SBz`&-Zy`6z^BLf2i
z6N3~30|P`gI|C~N2ZJ;N1A`bu6@v_eEXWWBHc%)rFfuSQ$T7%6&C&()85o#_*f+op
zVq;)rU|`^3r~{e81LiP8O<`nEfa^7f>gCni!oazMfqxf+C<6n!DI#E}Kn&r98p6z=
j2)0X!L79PpfrEjOL5+ctL4`pF><LB&T?TyyLk39z>B(Is

literal 1641
zcmX^0Z`VEs1_mbvH!cPy24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00SP6iGJPId+^9tLg(9!3VP-29Z(9DTRUqEto(j)MH+%#zIfJVpk7pVE@d
z9Q^>OfHg=P9}fdRg8(A~XJ%eWYF=?>NhKo#qbC=G5Q8u~g9s0UD1#Uy10TYE-^7v(
zMh52G#0o|RRt-;2O;0Wc2?j}a1}Po}X$Bb-w+5FKW#*+bGO(8==9H%Tr!g|9Y4{+F
zf_TMR6G;f7!&-=efkBRkL7qW@kwH8+F+0^cKQB44Bs{Yu!#O{%xFj*Jq?nOG9oaCb
zPERbRF)|2ip!wWWGmMde#W_DE6%;C&d8vM-xk;%-A&E&jsf-LlKKaRsIbn%KnIJw?
zkfkIevzU>A#|II(){G1SpjgOE%<)8o9(Q_b2`q>i83Z*n(d=eq;7Ly{LDImiq3OxU
zAefn#T$GwvoQfpFq5*a&TVig0X<i8<gJ4Q3h8n)iV%Lh2%)Io{%;JpH6mWuwVr1YA
zE=f$z_Dw8+I-jE?9}+~23?dp>1Boj*zqBYh)h!bg1e~D6qX&vBMg{?={QQ#QlA^={
z-_(+f{FGu221`Z;S&)iqSmLr})KP$^AX~;-el`YcE(RM0TXqIJP(<1@GN^z|gCye2
zyt4f4RDFnpAaU!Km|T)yRLRIN136Zq3L*A-B<7{$q!z3A<mYFX7Fc5@8zd1FjUkl<
zsaTXpBdN!d7NJHsC+6e?XO^T|Gcxda=H;apIp-u67pE4pGdM9asABjDn^V~tTo@VT
z@GE6xV1xLJL6L!jfr){Efr&u~l%2sWeg**s1_pKpMg~>}MFvI&B?bnDNKhHUz`($-
zwVi=cOM5E=yOzvW2HuTe4ay7*3_=Vn3=9mM3@i*>44e$y415ec3@Qu^3<?a)AZ-k)
z3~CG@zz?>D5iF+8Ai%)Hz{sG%pb51`pMjA9B*&_?g@Jto+;BFqpa9rF9x$5~Y9J$n
z7K1hx&Ae;SG>c-@tizxS)$Gi`3=Rlxt;j75ywV9Mo&%MT3=C2XTny4+W5ggzp>AMc
z;AYTc5CA(}A8w#K0}EIczZSC=$i$Q#41!n;m1p2%P(U)2A8sf=+)x7sL#QjAz?LvD
z@Pdq-%fQaEoPmWI<W*({P$WRYNd;^iB%FAm#u+g%Ft9Q(aXWy**O<WsYMwPX{23So
zLE*iFK^$c4E(Tc!2K2DkL^4wlY9=#-DL9bL7|a<M7&sUh8LSu>87vqa7#JA17#JBG
K8Jrnh86*LF4_L+k

diff --git a/build/classes/java/main/model/FireFactory.class b/build/classes/java/main/model/FireFactory.class
index 868087536e9613fb1ae9bcfc3a45cc9d78803851..1663c2261a007eb99f47e6a3815e106f4ad6eca7 100644
GIT binary patch
delta 996
zcmcc4)x*Pe>ff$?3=9lT489Y&^6WSnI2ibN82A|k7#UcT^Gowe7#SEn*%^cw8HBSE
z%M$fVOEPox9gB(*D}6GHOSl*W8JM{kI2c5E7{nOFCoa&pVP}wJWZ=rpPf5+ucgrkF
z<zkRvkmg}vWsqTH5Yq4g>kr5;&Me8y&$HGH<7SX!kY{I5;9*c?P?~JZsL#vApu(Wa
z&Y;G_pw6H%@s3)(79#^MiZ(6=O$Hs1k-CfwtQwx4nqlk=`iu-B5KCQiQgc)DO575Y
zOY(~<*%=HO8N?wnFl*gY^HPfvOY(~t8N@Vv5Z($(%uC77wf58uV`N})&QD2YWZ?J7
zoV=CMQJ62eC^fMp6>4@dBZG*>WDX_^CdSOk2~5(HyO;`@lr$#)XEI9UNKY+sh6Eh5
zhNdSYgFnQEoW#6zegCAa)Z`LtABcOPra@h50~G}YnzbEF4ThVoC+jn-*E2EbF&Ho~
zF$ghmGw?7lFff6ljDdlHg@KWQmBEOCk-?aOfgzHCiGi7cfq`FZI|HMZ_ErXVEt#zh
zyc@w9Oc)p#gcw*D7#MgNSQz*iI2rgE_!tBjOc@v$6d>9d%oxlWK!6`?4I{`XutoJu
z42%pG43-Q`V0%t7urRPQFff?zW)O_r&LHf^Y{nwWqP2yAcM*e<mbA<^1`#V(-Q5fl
zk&>+28KibH$TBgQv9+);F8_a9cLUhjAlFDSurV+&NHcIS$S{a7$TG+<$T8?L$S@c)
zD1cpM$H2xQ!yw3D#gJ{yz{<eQpuu3nAOQA)Dcq^147Lmc3?QePGT1Q)FfcK2Fz7Pa
zGdM6XGdMCZFz_%iLPeYym>HbGB20f7xY-%x7=JOSGq`{Q$CZH*l%PT3IQb%raJ{mf
z))oeKnQaWpW-PlIG$Un2S++B1gPhL90CGAXIKXrmI2m*qgc<a}&NX3RWnf^CgS$))
z?lL*3%QzWC8Qd5I7?>G^8MqnT!G2+6@L=!+*~`GdpwGYv_6e&cC@j~2T?Vp^4J>K|
Xwgu!L1_oBBElg1Ndog%}Rr>${YqY1D

delta 783
zcmeC-xz5FP>ff$?3=9lT3~m#-@|f8f_$E%2;N@jt=3?Mr5aeMHVi2CVO`n&GL6kv^
zok5(3L4rYYax9~owKO9GS8jevYL32JW>G2^gA{`-4+ATM93z9UhEHipW{!S9esN|=
zW`3Tvr)C&8g93vhJA)DrgEE84WJN}OYjy@TMh0FKg<K4(3>qLqG#MFKH9S2v!x$Mv
zHGHxX%M$g$3WE~!Qu1@HCx2n|7vfGXN=+<D1zBFq$RMWS={Y%!$wGm@2&~34uOv0E
zIJ2aZk%7^Zk%2Ljk%2WizcjC8@&qPnUY^{<3b=~NE18N}R6zRWn2jcHW>&3dU|?hr
zV&G=rVPIfjW?*DsWzb?^WYA_{U~pq#VqjumVBpf)&cLXpy_JD|BLf2i6N3%|0|Ore
zGXnzy4+9GWF9Rn7AA>Ff1A`buHG>|5J_87FflXy(U}P|0Fl1l?oB4}@m4S<afx%@r
z18?MZ27ar0R%SCcQ8wvC3`SZqvfCI0tk|`-FtCfVY-12%NigG(WZlgm6)DLs%CVh6
zW+#I@6N4FN3mfC||K}uGH!v_Tuz;N-$H30Oz#zrI$so-j#2^ET9|m;>IR<M6X$D6I
z1+epC7&sZE7!(<d7>pU%8Ppj>7)%&U8R|J0co<9>%ot1=*g)=ryWWMtoWYcV5iDlG
zU<&q|3xg$tDcI*O3|0)L3@i+s4Au<R3^oj`47T9#V1$a;F|ab&gGHGBGVri7C@}tF
zFkx^2ho2(@6DXxYLV2<?t6;H+9mvlz+ZaU5Savh0M#_q^Y-dmhc@H_XwHY`WbQpvg
xbiv*+VPIuoV332mSB?SXN|1Zyz^-Is;A9YGa00tmn1P$Y8SGw01{bg!TmeYfa`6BF

diff --git a/src/main/java/model/Fire.java b/src/main/java/model/Fire.java
index 74e6068..388e294 100644
--- a/src/main/java/model/Fire.java
+++ b/src/main/java/model/Fire.java
@@ -2,23 +2,19 @@ package model;
 
 import util.Position;
 
-public class Fire {
-    private final Position position; // Position du feu sur le plateau.
-
+public class Fire  extends BoardElement{
     public Fire(Position position) {
-        this.position = position;
-
+        super(position);
     }
 
-    // Récupère la position du feu.
-    public Position getPosition() {
-        return position;
+    @Override
+    public String getType() {
+        return "FIRE";
     }
 
 
 
 
-
     @Override
     public String toString() {
         return "Fire{" +
diff --git a/src/main/java/model/FireFactory.java b/src/main/java/model/FireFactory.java
index 44bc198..5b066af 100644
--- a/src/main/java/model/FireFactory.java
+++ b/src/main/java/model/FireFactory.java
@@ -6,23 +6,24 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Random;
 
-public class FireFactory {
+public class FireFactory implements ElementFactory<Fire>,PositionGenerator{
     private final Random random;
+    private int count;
 
-    public FireFactory(Random random) {
+    public FireFactory(Random random, int count) {
         this.random = random; // Injecte un générateur aléatoire pour une flexibilité.
+        this.count=count;
     }
 
     /**
      * Crée une liste de feux avec des positions et intensités aléatoires.
      *
-     * @param count      Le nombre de feux à générer.
      * @param rowCount   Nombre de lignes du plateau.
      * @param columnCount Nombre de colonnes du plateau.
 
      * @return Une liste d'objets `Fire`.
      */
-    public List<Fire> createFires(int count, int rowCount, int columnCount) {
+    public List<Fire> createElements(int rowCount, int columnCount) {
         List<Fire> fires = new ArrayList<>();
         for (int i = 0; i < count; i++) {
             Position randomPosition = generateRandomPosition(rowCount, columnCount);
@@ -38,9 +39,14 @@ public class FireFactory {
      * @param columnCount Nombre de colonnes.
      * @return Une position aléatoire.
      */
-    private Position generateRandomPosition(int rowCount, int columnCount) {
+    @Override
+    public Position generateRandomPosition(int rowCount, int columnCount) {
         int row = random.nextInt(rowCount);
         int column = random.nextInt(columnCount);
         return new Position(row, column);
     }
+
+    public int getCount() {
+        return count;
+    }
 }
-- 
GitLab