From cec59fbb44c8887897bb65d2378df41d56145d7f Mon Sep 17 00:00:00 2001
From: aimennabi <aimen.nabi@etu.univ-amu.fr>
Date: Wed, 30 Nov 2022 03:35:32 +0100
Subject: [PATCH] tache 1 a finir

---
 .../7.4/executionHistory/executionHistory.bin | Bin 34221 -> 45267 bytes
 .../executionHistory/executionHistory.lock    | Bin 17 -> 17 bytes
 .gradle/7.4/fileHashes/fileHashes.bin         | Bin 19597 -> 20747 bytes
 .gradle/7.4/fileHashes/fileHashes.lock        | Bin 17 -> 17 bytes
 .../7.4/fileHashes/resourceHashesCache.bin    | Bin 19585 -> 20537 bytes
 .../buildOutputCleanup.lock                   | Bin 17 -> 17 bytes
 .gradle/file-system.probe                     | Bin 8 -> 8 bytes
 .idea/uiDesigner.xml                          | 124 ++++++++++
 .../classes/java/main/AntiFire$Position.class | Bin 1465 -> 0 bytes
 build/classes/java/main/AntiFire.class        | Bin 1333 -> 0 bytes
 build/classes/java/main/App$1.class           | Bin 915 -> 942 bytes
 build/classes/java/main/App.class             | Bin 2421 -> 2441 bytes
 build/classes/java/main/Clouds.class          | Bin 243 -> 0 bytes
 build/classes/java/main/Model.class           | Bin 5759 -> 0 bytes
 build/classes/java/main/MotoFighter.class     | Bin 4190 -> 0 bytes
 build/classes/java/main/Position.class        | Bin 1368 -> 0 bytes
 .../main/fightfire/AntiFire$Position.class    | Bin 0 -> 1525 bytes
 .../java/main/fightfire/AntiFire.class        | Bin 0 -> 1463 bytes
 .../classes/java/main/fightfire/Clouds.class  | Bin 0 -> 3447 bytes
 .../java/main/fightfire/FireFigher.class      | Bin 0 -> 4364 bytes
 .../java/main/fightfire/MotoFighter.class     | Bin 0 -> 4363 bytes
 build/classes/java/main/{ => grid}/Grid.class | Bin 3054 -> 3086 bytes
 build/classes/java/main/model/Fire.class      | Bin 0 -> 2172 bytes
 build/classes/java/main/model/Model.class     | Bin 0 -> 1494 bytes
 .../classes/java/main/position/Position.class | Bin 0 -> 1413 bytes
 .../compileJava/previous-compilation-data.bin | Bin 17475 -> 17976 bytes
 src/main/java/App.java                        |   1 +
 src/main/java/Clouds.java                     |   5 -
 src/main/java/Model.java                      | 191 ---------------
 src/main/java/{ => fightfire}/AntiFire.java   |   7 +-
 src/main/java/fightfire/Clouds.java           |  57 +++++
 src/main/java/fightfire/FireFigher.java       |  72 ++++++
 .../java/{ => fightfire}/MotoFighter.java     |   9 +
 src/main/java/{ => grid}/Grid.java            |  16 +-
 src/main/java/model/Fire.java                 |  48 ++++
 src/main/java/model/Model.java                | 218 ++++++++++++++++++
 src/main/java/{ => position}/Position.java    |   2 +
 37 files changed, 548 insertions(+), 202 deletions(-)
 create mode 100644 .idea/uiDesigner.xml
 delete mode 100644 build/classes/java/main/AntiFire$Position.class
 delete mode 100644 build/classes/java/main/AntiFire.class
 delete mode 100644 build/classes/java/main/Clouds.class
 delete mode 100644 build/classes/java/main/Model.class
 delete mode 100644 build/classes/java/main/MotoFighter.class
 delete mode 100644 build/classes/java/main/Position.class
 create mode 100644 build/classes/java/main/fightfire/AntiFire$Position.class
 create mode 100644 build/classes/java/main/fightfire/AntiFire.class
 create mode 100644 build/classes/java/main/fightfire/Clouds.class
 create mode 100644 build/classes/java/main/fightfire/FireFigher.class
 create mode 100644 build/classes/java/main/fightfire/MotoFighter.class
 rename build/classes/java/main/{ => grid}/Grid.class (58%)
 create mode 100644 build/classes/java/main/model/Fire.class
 create mode 100644 build/classes/java/main/model/Model.class
 create mode 100644 build/classes/java/main/position/Position.class
 delete mode 100644 src/main/java/Clouds.java
 delete mode 100644 src/main/java/Model.java
 rename src/main/java/{ => fightfire}/AntiFire.java (83%)
 create mode 100644 src/main/java/fightfire/Clouds.java
 create mode 100644 src/main/java/fightfire/FireFigher.java
 rename src/main/java/{ => fightfire}/MotoFighter.java (92%)
 rename src/main/java/{ => grid}/Grid.java (90%)
 create mode 100644 src/main/java/model/Fire.java
 create mode 100644 src/main/java/model/Model.java
 rename src/main/java/{ => position}/Position.java (70%)

diff --git a/.gradle/7.4/executionHistory/executionHistory.bin b/.gradle/7.4/executionHistory/executionHistory.bin
index 379c05b56bf4592bad402191032e6a449f6f8730..13a6d8b11bb569fd8cbf183e93c733df491a9132 100644
GIT binary patch
delta 2385
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

delta 390
zcmccokZEl<(*zM&CI&F@X<}dyTm)t^#Hlba2q!WyFz9X!JRv?YL1D6_gceg_>t<I8
zzep9ce4~P#GV}7hti;r!w3N*9tcuLcvZTt=LWpjL3k;hl7y8L={?mGiXY#T-AA$c{
z9_IQM=9ISzd8a)L*(N?&Yx0iC@3W5!WbSfycVScPOkcmRp7*WsrO6W;q6E&);b8u6
zKB4)0b9|x=laT9VgWMegD&;dgP0w}i5ac!b$!HtLFnRa187zw?cCMcs-y|lYR+r;8
zxAVf@_{SBc2M@O%14}ecS7uoQQn8^)k!2l-u{O^u`pJaO^=Ay;i8J>2=BK3Q=q2YQ
z78f%J9OFE(?CgH;Bf+Bm%YK(K+-{x-QubemaguL-NxoZVdPYfV5lr#3G^VoOGMipl
z2__t8$@l-Y5Ulv#<f>*p0kMe(f0eKGymi&n`R=~+Ppmc{$X~`NV$i7L5Nt0V=5TIv
Qfchm5*)1UF6t!9d0GeB(C;$Ke

diff --git a/.gradle/7.4/executionHistory/executionHistory.lock b/.gradle/7.4/executionHistory/executionHistory.lock
index 80e8955e82d390b14df82ea4edcc8a752d441d75..e35b445edb554d7fa073edc271abfd98838ce07d 100644
GIT binary patch
literal 17
UcmZQR@qCKwh0L%v1_<Z^06fJ7D*ylh

literal 17
UcmZQR@qCKwh0L%v1_+1;06dxn00000

diff --git a/.gradle/7.4/fileHashes/fileHashes.bin b/.gradle/7.4/fileHashes/fileHashes.bin
index 142907fc41e849b439843292be0e751c757d5320..290d329335402dce06010b3d3a3ceebbcb324563 100644
GIT binary patch
literal 20747
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

delta 713
zcmeBP#MnENaf6A3pjbO!NZYGS=>i5Y@J^guDxom>u0+D*P)Ui&b0sAvpOrM2EGi{2
zIabPJ@>{8j$#<nCC-cdOPqvkj;Q0>)3=B+)8x?<uZ#4KJI@!_VngpNQ&-i7zHJ#g=
zF7T{+W*g4Hz}Rv$-lA->zNb_@-~VF1^BJr4md!cVV`LN-3zlT)%LTiDfpsba1B0G1
z0|SF50|SF12n#%}*3`?=J@@7Kj-%yG*B(9x>v-gP4WdJe1yjc{&J)Yd?)N?tEZV>9
zcPYbdhz^ft1_lOJ1_lPP`pIWKUA#nQ?^(XZ;K8-l4mQzQIUN(As@6cvWuA;_ZY)F2
zgX|T8X(zmulB$BV+n_p9CP#Zo)h{YpxJOU3A=*qiIMMojsS;Fj9mF`!QcU9v8g(3k
z?Zv|!&TS4*zvLkc)v*Pl!^Ig>$L`bG*L5DN_}*KzK77UculK+@E-%($U|=w3U|`^U
zgsFvHYe#|W!MRpnqAELIOzwLC)*>tD2C;;}aI&_yOAu%2F0P;*9LxH*-LkJ1Oqm8&
zWb$VtRMBTlW1polmHn34^ukIo;W$ga|1YqPM;;3yIt1b-AM|$dQfN)zdv$GRj9tvy
z6fL%|+rWx0F9tc4fq{Wp8`D^|x*WH;ofr1TKdvY}c)0Z#SjQueMU(w~^aPGR@>m2h
JpLHilD*zxM)g=G`

diff --git a/.gradle/7.4/fileHashes/fileHashes.lock b/.gradle/7.4/fileHashes/fileHashes.lock
index 377c088269107b126a7bee13fb74d2242b021620..31ba47f15f9492cc156499a67c65a5c57ebc9633 100644
GIT binary patch
literal 17
VcmZQBEe>6w+qHB(0~jzq1^_V!1lRxo

literal 17
VcmZQBEe>6w+qHB(0~j!>0RS*c1RDSV

diff --git a/.gradle/7.4/fileHashes/resourceHashesCache.bin b/.gradle/7.4/fileHashes/resourceHashesCache.bin
index 9bff27bafb7b6100eed2008b7aa679c9455def16..a618b0ff71f22779264da258e7bdb8b39279b6a3 100644
GIT binary patch
delta 1634
zcmZpi$+&X?;|3E6N1K+zhZm?vOiW+^1JB?8p`gcz&FM|p*C}9O2LFDj@c(I>_@v}x
z<#V9o-jiJ=6a?m^b@*mnl9>Pz^jSPPRw6@S$Kn^qS{BszLInN4PTnh_5OH{VSl*>Q
ziHjhDeurVko|BMX>$XWd8zSzX3lqOw>ALFHvYXc-;=bSE;?Fo%FFe!g2@&^sKKZJI
zg~l_HZJTy1b}5Aj`sTwFzcje^b-{`t6NtFq)5)xo3IgB#xWC@{Jx2v1=yP<ktfYd#
zFNPy7dWliN5JBI~lT9TRG}sQ#i#&Io)fpn_7Yj3%dlK_SWv_!y5OLp$lYJ#;ILIwY
zGz(dIoDU-C&kj>8|6DaUK>l?FL_9zoCaxg0IbfFGeQk)ipXB7bk_`gpOVxMiR7#~m
z1bsOthe}xpxMeJz%68+>ABdn|{p40D1r1;KqsweLvW`Lo{WW361}0fu&hY-&0ulFV
zoIF>`LLlz$UDHE47IPtj{u?Ksl~NE$c`zw*&xWV}pn{htKb2C@$Ov7xrf~7{y%0fP
zUzo84zu#Cjp5M9=Dy}{GuatsAk;bk69U-S1p@LUoic4}C>~{V$f<}j*HB7u(em-yT
z+^=~M^?nN{i%M%Tv2NU`_(Oc7L59#~M-K;<dSeC#21y1620;)O=r_0frWPIIKYh+`
zqdK3oa|{d&a;PetS=OHUC%FCUfsiZ0es4E|q7_ZWg;n)+_L?j9ZuPwKYvQ!E2AF09
zhv>9i`QFsP$TYkDj##b!R!k)uRU5^9?wy-gc!6_`Z`DIkI!3dmy0G=q)703~3EP$`
zcrA=Rf@wzor5UM9|2|$6u92MPc=<prriwoW^<Oe~a$fq?|CoDYrGUu^OeGhVTK+s~
zAuc796g2bCl?yVMDz+AzK3#YJ{tMr*<>_u2CwF41xRs&4(d4IAf%=E<YvWeLb|R^$
zhX(xTg50;7t8{hNhCE|gbNl*gBqdN4Cj|4oM6aAv3C$F5ock$nI;M&%p(~kWUK;Zz
z9aUJ<c;t{5riz^INB-*DpMU!BDfi^>(s%b680yjE_e@djJBzo)Ctj!5s$Zyx>B2PR
z@ydi%Q?1p#5|oXLnwn1j#Z)oN>rHI<u4g{n%iQ!8e1GU;s<@|<s<6<_;_kuv%jxU<
z%v16)m3aN|y=J~nYUSy3(;GOI9YGlyEd}&8y}GLxvC+6t-s#+*Cl}Q)&4_=%=zPY-
zChV-HA1C|rI2}wC^#X_HhE&zsJ8}4T2kcxe6oRQF_RgO7J%1<sw^XVsnk@5c38som
zTs`SeRFh3_zp~l4r<L;xrV6bY5<>S_S(jyT&1rZQ$tD6<VGqi7AS|%d?u>hm>RO>m
hw?8-dugS-fj9#Cg%Dr^XqeFs0+xluk<hOwg0RUM-4p9IA

delta 107
zcmdnFfU$8V;|3E6L4}sXhZm?vOiW+^1JB=+OC=O0ua!uctSTund9I|v<iC;<lXaye
zCdW!iOkOHAVREf>#bjO?gUO*X5|ii37)*XDBQaT2R$_9jti<HKvPw+Mf*Tcoh;KCD
L5Z&zP;lKg_rg<Xk

diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
index 4ec51350aa97f62b3460115e0baef1fe9e4bf6f6..707445b757d1205790ba6eab3062110ccac43783 100644
GIT binary patch
literal 17
UcmZRUKJ)c@^b_gh3=nV;06ixKsQ>@~

literal 17
UcmZRUKJ)c@^b_gh3=l9C06gmjZ2$lO

diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe
index b9647d18a023b65db35462985ee38f79494d3efe..cb028f4205a1fabe70cff5ec865ed4504b6cae58 100644
GIT binary patch
literal 8
PcmZQzU~D;NFmEvc2q^-+

literal 8
PcmZQzU~D-myuAnj2hReB

diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml
new file mode 100644
index 0000000..2b63946
--- /dev/null
+++ b/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Palette2">
+    <group name="Swing">
+      <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
+      </item>
+      <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
+      </item>
+      <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
+        <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
+        <initial-values>
+          <property name="text" value="Button" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="RadioButton" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="CheckBox" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="Label" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
+      </item>
+      <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
+          <preferred-size width="-1" height="20" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
+      </item>
+      <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
+      </item>
+    </group>
+  </component>
+</project>
\ No newline at end of file
diff --git a/build/classes/java/main/AntiFire$Position.class b/build/classes/java/main/AntiFire$Position.class
deleted file mode 100644
index 7547f4bafec835a73c42408a68545ec53ad10ee0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1465
zcmX^0Z`VEs1_nC@M=k~?24;2!79Ivx1~x_pfvm)`ME#t^ymbAb)a3l46h;O%o6Nk-
z5<5l)W)00SP6iGJPId+^9tLg(9!3U1$GnnEx6Gncm4N)>%#zIfJVplQqWp4321ZYi
zQa&CAevmrm<op~V1_lN}9tI%>VMYdylKkM3qRhN>Mh0~a9}GjRHGL57fGD&EX&2>T
z5MvN$WZ=k1EY5JwPf2BD5W}k76Qo*_he3)#nvsDmwXifXr<jpJ1DjeToBWfqQj<%p
zHKQ0AST#I7HNzMgSRl6W`();&`jzG;r51%GCgr3uG6?zPCnx5FB^G6Z_)tNXl8nq^
zMh0OlK4N4L@J%hr$WIAKEK1BxElDjZW@Hf2z~WJGKzlMWh-zSW8e=}lc0~9<UCqeA
z6`WsMl$`38334AVEKv18Dj69#{8EccJo1Z6*co&f88~3Fj0|kBcouNV&o3!1DM~DW
zIJB6bjlqD6!H~g-oxzxg!Gyt-kwG407$kWVmFAUX=BDaHtcPl0WZ+DKnZn4h5!nZs
zd1d+8srnFw9*KD=IjO}eKKc3Cr3KbV9)-p>k_c2|NM%8)OKNd)QD#9&ei5=3=bXgi
zVq^iR8PS-AAlr_T$RNJ3=3p>qWMD7KFSkz4&*5ieVCQFK;ALds@yyFhEdtw<TFl76
z0ZZ)c47Q96s)#UwIu+R#m>=00>=_y4@GE6xV1on*gCPS40}}%S0~3P~D5EhjFbIJ%
z5(5JR8v`Q)D}xLJ6N4-R1A{Lp_cAar@M~>nVAPV{%D}EAvz38&BUq~(R5=5K41+ua
z1A_tsGe{|e0)rw02=IfAW(14zGw?7lF(@%GFmN(4aD#;y7z7!F7?c?p!8RE(FfxFY
zvTN;P5MW@~fYk;bh!Us`f(&8|Dp<6OFfgnkO1l(;Dpb1-0~0trIJC5PF-YLjF9uNq
zwVr{2gF%f!9qevyxI^^8d<F(qtt|}f_?*ECHHMLaAFF0wVl=ZdXn=jH$)E+MwHb67
z7#R2%Kw-=S4rLIj2Nq*w&}U#_;9xLguwbxcumZ<969Wf>HiI>TB!dlu9fJddBmkhX
BC~yD(

diff --git a/build/classes/java/main/AntiFire.class b/build/classes/java/main/AntiFire.class
deleted file mode 100644
index edf3af720839d02a3d477b8002d211e1d429afc4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1333
zcmX^0Z`VEs1_nEZAT9<b24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00Sb_Nbc20^f*(vr*^eUHTAjNsG~E(Uf6W=;lf1|D_>ULFQM27X2c4#&Kb
zOt;LUR7M8Yw9KN^VnzmjAB4`})DmlM20;cPb_QV{1`!5PMh0FKSw;r7qSV~{vQ$O}
zQ4NSjBzIYBMuF@T=V6dwkYr?FNiWJwVPs(QaWBeDvF2ouW{_cLkmX^JV~}TL5QMoz
zB_O{zvm`S=kCB17D8HPMfzcDBRFQ{438aoWIX{PsL4`q;ok5L<L7hQ^k%0wd9wP&5
zL1JcJ2_plmhNq`y7#D*UgEl*Z4iAGagB~LTAK2MoxA`WPWPseAn3s~D3l1?CkSh&%
z7z{xca1`a2JLi|?m4F0|c^FK<g30+gU_mYhX$CV;JZLa7a0X|l=Ovbuf<jLP;(2g*
z2d9?U_+WU)+RmDhfyFsLB^4CLnR%&xrMXF|MInhvIjM{cLO%J)i8*13MVTNzRFI`4
zBeR&1feUV!H6sHbD55hHb25t)A%VoA;i(zM$iS7DT#{J^72}6;Qr$AsGfGm67#TD)
z;D*2h*jf{d7$XBqUTQ@NBZDe-9pG>Td($VgxWt-~!HO7lxWa=Ely*Y$%M*)IAgPcm
zwW1_5FTFIgID?Tv46D&$j0_wF@H8Tf)en3{;MheZB~cCRp5+S8FD*(=b;|@r0xvAm
z^gzC3WZ?EoEiUm*1w~UaBLk0TUS4XEb53G$F({vKzzk<mWZ-6CVqjokVPF8|Dh5Ud
za|Q+mCI$-z22jFh009#Qc@PCkVhjun91M)0tjxg3U<uCQ%nXbS3=9HV+Zh<Ob~CU?
zZfD@!%D}Y|Y>E{F0|Tf4U|?WnU}0cmux4Oj;DM-Tuwk%eU|?Znuw$?X(+&)5VA_$v
z2~0aPxWHZG%EHLt1`=mrWN>HjfZ83-zzlY~wAK~|F72HR0!$3yT3Z;zw6`!wX>Var
z*v6oYa0VX(GXn#I2m?2RD1#J(7}zOd5bY4BFfcGkGk7w1F)%VPGI%riKrL}&U<W%`
zW;cU$<PHW+tt|}t?b&@0mQj0l-*yJm4RFu0fz?WYO^0|?25LGpgD+T>AA>(QxEUFw
Q83Mq;17dMA1Tshh06EPc*Z=?k

diff --git a/build/classes/java/main/App$1.class b/build/classes/java/main/App$1.class
index 98d51f802497deae0e1387a24d43001df1e48c74..80ec6c10a634c0eba5e577cc4795820f17885624 100644
GIT binary patch
delta 132
zcmbQtzK(r@4m-C`dQoPI{zScM3r;Z0y(lw<k%2WgKP5GXk%89-%+U7*ajm%+WEf=G
z8RU2v<QaGv8Mq;G6E8II3TyZ{78F=R4BH&R7|F<}Jb4pSv7`nA8-pf;0D~5TID;;O
T6oWQ{G=mO<JcI6JJLXUT9;zP#

delta 105
zcmZ3-KAC-j4ilTtMB{387Wbme6h;Qt-29Z(97YCqA72o|nu|e(L6)6Cj)y^>frpWS
zb>g!I4n7SZ$ASWDpUuULk&KK=lg~00OR6)lF=#LdFlaJ}Gw3i#F=#PJGiWo&Gw4i?
HWDW%Y@@^F|

diff --git a/build/classes/java/main/App.class b/build/classes/java/main/App.class
index d295b944a9625d1a7a2f892180b64733cbc7ae54..9a62bf97329c0156cbdc7ce6defdf70e57521761 100644
GIT binary patch
delta 147
zcmew=)G55dgprLiy(lw9f3qp0A|r=}h7W`n$z;aJE3Dz;SWsXM6`Iam&B)FT<%qBr
zF){K^ZfCb)6<}at5S)C1{g$mL0|$c`gAju_gEWH#g9?KrgE@mVgENB+LjZ#;Lo9<F
lLnebfLnVU(Lo0(KLnnh0Lmz`O!+ZuqhD8iUlkam(0{}q2AI$&&

delta 137
zcmeAa{wlP=gprYDvlXKvBd4;4k9$#OinZqCjcmf3YnWsiIrubu919ApeKs#+u4ZIn
z^VzJyTExW2GkG?<4J$tb3xmMqJM6b?MHo03L>Yt_#2BO*#2Hi=BpA#Yq!^qTq!|Jj
qWEf%@WEnCU<QOU$<QZBS6c{=g6dC#$lo;kS7%(hiFr56EV;TTCcN_Tt

diff --git a/build/classes/java/main/Clouds.class b/build/classes/java/main/Clouds.class
deleted file mode 100644
index 9ed13d4bd20ab64d05aa9707562c6eb4616a9296..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 243
zcmX^0Z`VEs1_nC@0WJn624;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00Sb_Nbc1~%uM{L++SMg|t={FGEi27aH+yi~u^+@#c^ki?{%R7M6NpZw&+
zoUp{AOb{O`$WoG#S<J}5;RDfb&B(wNoL^d$oa&Yd(!&iA)&seKL6L!-fr$YG7#SEr
zPGewX;ACK6&}RVg85mf#wlgqpWME)mV&Gz6U|?flWME)mX5eOEVBi6>Ss8d3co`TN
K7#aA$s`vqUc`XhA

diff --git a/build/classes/java/main/Model.class b/build/classes/java/main/Model.class
deleted file mode 100644
index e8275b1856b942724c1e257e1e9c8263e2fb5cef..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5759
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

diff --git a/build/classes/java/main/MotoFighter.class b/build/classes/java/main/MotoFighter.class
deleted file mode 100644
index a6e726acf81de951c94e8a90476341fc1c41a76b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4190
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

diff --git a/build/classes/java/main/Position.class b/build/classes/java/main/Position.class
deleted file mode 100644
index 919933142d440b6278f5b21b1c80bfe4c0edbdd1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1368
zcmX^0Z`VEs1_nC@TP_AB24;2!79Ivx1~x_pfvm)`ME#t^ymbAb)a3l46h;O%o6Nk-
z5<5l)W)00SP6iGJPId+^9tLg(9!3U^fc)ajlFa-(Mh51h{BlMHMo*9mJ{|^skTi30
zevS|W1A`zBgAju-BLhcCesD=qW?niYgPevBOs}=355iW6yfsLdC=Y`egE%7tM@C|C
zhI4*ODkB3gvMx`MB1s+wDF$gq2Da3~(!`u%Mh1B#B}nG_CuOB3mso2?F*2}fczSAv
zF*2|~%;fjU%uDqv%}q)z3Q0`LNo8aZ^2tw5%n3^@$^`MDf-EH&nZ=9@TnJ|~G6?vl
zmSp6o1SA$E=BAdU78Nrxh-hH(4LIyP85u-1u)BycA7m*a5TK4_WZ(+UFD*(=b;|@f
zix(DPdLWgI3~aC%5^&1TFDWi5N-Ti5r<k9OL6?g`k3pZE!GMRskim$NK^~+B60t?4
zc_o>-srnFGpjsFiIFn$eFfwdJc4%f^S$=k^K188MVqQv4YO#t>etvdofi;qUpfQIe
z0@WB&S&-_ITAW;zSx}N+gsjCmC$YE~SpaHAG^QcQwxc8%h%c-;7)%%$*o*SZt&{U}
z_!$}4`575_85wvy^YT)Q!1kmTvolySGN>W~0_r|wqhTInXRu~uki)N(k%0{o3Jit}
z91Khh3=B*RLZE!Xz`!5`$^Z-u3~UUH46F<?3``8N3=9mupv=a=z`(Dyoq<tHdMg9F
zmdsWL-i=_ba!}<A42%r&3=9kk49p;<3<?a23?RS{HkuJE#?QdRz{H@$z`(%C#J~*}
zVqg$t5MoefU<BJ_$iT<|Qp&Eii$Q>aVFOkhcpyrkHV86^F{ohCF2caDhA8b)460D=
zHVjPQ@ZiwW-o+q+OTQRI4b*xD1`Y-_26eEzx#14c2lE*iShcn=u;X(EE7TZ927auX
zd5O`?!k_{6sV0LK0|Nse11M~Hz@ZBwwZUSH3_1)f3>*x`45kcb4CV|B3|tJ13>FMl
I3^ojs0KK3LzW@LL

diff --git a/build/classes/java/main/fightfire/AntiFire$Position.class b/build/classes/java/main/fightfire/AntiFire$Position.class
new file mode 100644
index 0000000000000000000000000000000000000000..7b3534afc972de4297091159558cb5c6b6c9dcdc
GIT binary patch
literal 1525
zcmX^0Z`VEs1_nC@M=k~?24;2!79Ivx1~x_pfvm)`ME#t^ymbAb)a3l46h;O%o6Nk-
z5<5l)W)00SP6iGJPId+^9tLg(9!3V~w9NF3lC;dCRDH+1l1#VEqEwZD{Nl`#%=|n?
z2Iivtaz+M5Pmm@)9tM7p4(8<i93ch<20<PMAqHVa29A>a;F6-uymUqeLk%B1##w9n
zAlwGgVhu7#l!rl#L7b6+BO|dm!#O`Cm61V#fI*%heUdy3QVi0J3~Z@|rHMJkj0{Hj
zbs^dApOlrFTw<*m#mK;_;pwRv#>l_|v6<f|GcVPzG&d==C?qi{CzX*w$R|HJF()js
zC=<ko3bK@BWEL|r$l~=cBZGi%YDq?ZN<d;!Vs2_lYEdyGgNO!}U;syrCnJNX26jg>
z=7ZdU2tBC#85y{O^Gl18Q{6H_F6D*ApdLsiBLjzDYH^82esKvqgAOBu5N6acGO)qY
zh=5ameo1jjQDOna$;JF^3<g{bh73mR48}YRCJd&G4DujjAxW#KG_NExH&q|v5U3VL
z2F@gyDU1vok^PdHSC*fhst-}<k(if~lUl6elb@emT40UjWoW8E5`k(AsVqo!Ni9w;
z$}A|!FGAMhoRe5wj4S{(BO22XWZO{^Bg7Zh91P}+4D3bu<<`mhIsA+a?EH)jyo?My
zo_TqxMPPeUiy0X>VA+G6!IqIh6%i&-ry|<|^CLThJtKo0ex-~IY>)t9Fl69hU}9ik
zU}6vgWl{zP1|d+^V_;xlV_;-pWsqTDVvuEEVDJUyd<F&vey!~cj9SuL8Q8UCwleT;
z1Z$OpDraC&V3213k<1{a3<?a23?RS{HkuJE#?QdRz{H@$z`(%C#J~*}Vqg$t5Moef
zU<BJ_$iT<|Qp&Eii$Q>aVFOkhcpyrkHV86^F{ohCF2caDhA8b)460D=HVjPQ@ZiwW
z-o+q+OTQRI4b*xD1`Y-_26eEzx#14c2lE*iShcn=u;X(EE7TZ927auXd5O`?%Af)E
zsV0LKnAT>{Wnf_7V*rIQ4>*)Tq#js|kwKq<g@J>?jKPAzlEDfb=S&P74B8CV43Z2s
K40a3-43YqaG(au@

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/fightfire/AntiFire.class b/build/classes/java/main/fightfire/AntiFire.class
new file mode 100644
index 0000000000000000000000000000000000000000..000edc73d1cbe7233d82ed4268c8c7023364c985
GIT binary patch
literal 1463
zcmX^0Z`VEs1_nEZU@itG24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00Sb_Nbc20^f*(vr*^eUHTAjNsG~E(Uf6W=;lf1|D_>ULFQM27X2cp|s5O
zjFPm>qEvmyypl|}%%W6A238Qin2~|s2Vq8VYKb*BgCK(tJA*I}g9w8tBLgprEF%M3
zQEF~}St=ugs0KtMk_)Xhqd+!`^Dsy-NHQ|8q!(qTFfwrafM|X9qRbR)E(U1^8FmI)
z9tJrEc}50lOoyoi<QHd_Waj5FGB6kAmxKN43DTy>!=MDx!<?L-!^NP&pvumm#>1e_
zpuxz%3AccefwdqpGp~e^fmOrPQ!|W<L5o3~ok53(L6<>~k%15F8L*3e6H78czDdkW
z$<GDb;sSEJ0S|*AgApSGM^S#cbABnvBt}n=gb5FWDOe&oKL;!Ua+5hIu0Re5&P>ls
zEGY$rs~#j+z;P0sT4Lja$B))_){G1+&iN^+pm@m4OZ6+wO-d~aNleN~Wn>WY$xlwq
z2}>->1o5GQEF~G4#f%IhSd6u1WZ(cLkj%uKOhyJ44NuK5Mh33L<dV#?L`aD8LpiB#
zpahXx#K>TyfyE$r99V1Om1SgL$xE#$VPw!JWC}Rk!9n7aSzKbx$lyns4#J_x2TGM8
z`Q?d4DUkHdm0D4fnU`LgS)9Shpg_R7Fh&NB0(iocCE#nmB5<lfq*QqgLIK4UoL^d$
zoa&YdidbG)F4O~s3nK%!UutoQZz?G2iy0YsJoEBWi=1;3i;Gi>85uZW*03lta5FG5
zFfgz%Fo5zk10#b40|NsSgCzq4D8n&;fGL9!hyo>I1_lNW21Za}!obL21ukQl85kKD
z7zDJoGcaoHW?+xp&cL~qfomh!6l(?s22c^iz`)7C!obB~!@$7615wXl%V5XAz{1F2
z&)@*29U0ibv=f6fn08@sg}cU$g^|G>B+kId;KAStwL6@F8SHjxtt|{(+B+Epm>9yf
zwlIikZ)1?s-o~J?jX@dV3_b>Cu$Q<QBpIX_q`*!QgJ_31g@J)Vn!$^~n}Lymk->+-
z7ix(c13TEkGP@b1BX=-pYHeZAZ_n<7u#DTY`?fQfZGd~04WbroI>e(gP}7+i{J^UG
X83Mq;&B!3l5C{$)5R023h(QtnM5R%B

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/fightfire/Clouds.class b/build/classes/java/main/fightfire/Clouds.class
new file mode 100644
index 0000000000000000000000000000000000000000..98d34018f37bc4540a3b81a5f2d5df533e066c99
GIT binary patch
literal 3447
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
ADgXcg

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/fightfire/FireFigher.class b/build/classes/java/main/fightfire/FireFigher.class
new file mode 100644
index 0000000000000000000000000000000000000000..5ce77f12ae35b0bc5981488dbe1a73c069b1704c
GIT binary patch
literal 4364
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

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/fightfire/MotoFighter.class b/build/classes/java/main/fightfire/MotoFighter.class
new file mode 100644
index 0000000000000000000000000000000000000000..ec8fa238f4cf44cd92e19f5edb39646f8a5c2087
GIT binary patch
literal 4363
zcmX^0Z`VEs1_nEZb6gBe49x5dEIbUX3~Y=HLTQ=l86|0%MXCCZc_o={nMJ9L3~V-;
zd6^}4j10^gnqlk=9E=RYS&3zd`lThAIr@%8MTwO@nZ+es4D1ZdoDAFyJnRg-JPdpc
z{EQ5u2;+S7OY+@7hNl)WGH~bSm*j)xKs*5-gmEB~thpGt83cJ4gcyVw8Tg74^HTD2
z1M-VAOEUBG7#ZX>G=0EYQCz74Q((=_Aj%-d&LGaiAi*HX$iRncHX{RbVoC}lgQy0?
z(wxM+bbbG%tkmQZYt1N-^QCzhWI%4`%T4o3Er%If3^G=Zhe4h}fsuhDvm~`Bu_V8U
zkwHvD6JiiJFg&5+*4zwA49e^bDm)CT3~G!FLI_8|lrS=|XCxN;rB;-H!!-(|LxYDw
zlR=A-fh7+tECMqd*^%rFI*bg`cme<vczQex`V0n)4E%}7C7ET3C8_X`x6!~Gc=&@B
z6g);e48{y5j0`O4MVTp#4BS2-THn1WGsT*VL7Tyhhryh|f{}r_D8C%+F;6ZAD+X(J
z1{)p*TLwEu22QwoMh4b`#LT=BMg~?5PfyJ-kah<i21l^=<oq0vMrR%d7mzM?uu5My
zkmuZZ7~Dag<IBx2OAW~{Pb^9SrBjfUCnx~D7#Z{l`4SNy-~<PXTpu0=Uj{!$2Dajo
zqSVA(Mh0nE@PnfkBB~z@mb3<iL;w#%AVUx%11l&Y7Be#NBPE33)Dmkhh7g8Oc7`w>
zhH!=mMg~EIosjfa3`*Rog{7HAsebu+ex*4%j0|enk|o4k<U}CEz`zj2!w}67!^pr=
zl3H8>_A<f(koCyvGOaW(8I*hU1By~pGLsWaQmwfe;uzxD84`FH5*d;h8N?BqQGCkC
zz?PPoQv%ASmQc5Wg9D3+$QGiQ0k$iJhar_Ajgf(^Bp(#yj0{33!3z=t=lcvEhD?Sm
zMh33bijvH{^wP}Y3`Pb80`Un>J2{{-%nlSYc{~jH3<Zn~97Xx%&iSRFB*y3ok|^R~
zC<aR;=jVVW*cnP08AK3%_sPu5PE7$hhKr#DR4`VcM4U%raYk@z2^T{-NUj<~&Ns1u
zi=m2vnVX@Gp`M+gfrp`yp^1@!A7MdYX=*8`NKH&haRf!UByylS=jY_4f+NaWGYVve
z9LTg*9)>oCc18x~g3=O31`DVL<m7;vK%jAftO#UYCl5mxs61lNEOyN;D5(UA_3$wC
zf(xC3{G1$ahJJ<#><klm7$$)VPhNz>gHuZw890*j^GXsk^NK<4n!>{{6_l`<(^E@8
z28n?*i!m~A24|+{C6<(est$dK)4)jv6sk6OOCLLHMg|t={FGEsX3ES<^()OyN-YXW
zOv*`RWDxSnPfpAUODxI+@u7k&B^jB;j11yP#v)ZT)}W#~FS8^wF(;FefknepGmMde
zH8U?IwStj>Ee~uuBLi=6Nn&!gZ(;$|OfG1l39fCp^AL3aBZDlGJ+S%_QS&e|Fy*>2
zGO&Qk14agp0(h0h2`bM)WmGXEgBYqeDhpDf*0SVeg7UE+fuv4yfO3N>@65y;-~6&v
zMh1?=l&r+$R8W>+PcAJgg0M>R!!nCAOBfjhk&Fi?RZxr+r>5pHGH|A478RF3Oc6#>
z2Feq@i3Qe-3<gM|V9kVMTMtP~aB2x*4gN?Ppf=;zgg3@O363i`zqBYh)h!d0$OMp5
zj~*!TGcpJ`<>!|amlP!y_@<U*<fjz#voY-DV%W#9pPk_V55qx*LyQbcAf@`?+?JVF
zmY<!f?~|CDl#=M1T9TNSm|T)yR0(SIAoI>3=VPcQhy@;rc_}%m#VS7e`Prof)({Va
z%?>Up%FIhg7D3S%Qdy8no+QLd{Cbg#6sWb%i8(pJnI);#0t}M;oD6*e495tU)lrNL
zJf3-ZsYT8?iN(dK#f%IbutpX;!zo4vRgAF27A))xXBZje@GE6xV1tAqgCYYr0}}%S
z7|Ss5GcYpD0P|)tFn}7WNPIR1Mo>$bfstVrxPi>fz{tSBAfUCKfl+HW1AF9l2F|Sv
zTpPi<XEQJ`fZERt4D1Xn44e#e7#J9MAnF<BGR$LOU|?jJ&#(Y$Rw<~Z&A`AQ!)z-f
zy@)|vYYPLH);0!#oeUyO4B;(IjLZMO0-4Lq05VsIfd%X~b_RY1Q3gH+X$AqX`3elo
z3``7?3=0_wpuU0F#K0iKu!y06fstV`0|Nsm1JfS{CdOY35)6zCOBg_&0(s{W12fpz
zWQ13wK+f37Aj`<$qrH<sk&$60gT3}n26aY;0}R@}S~}Ypbp5opFc|7=V=x8bZ48zm
zuI@GlQ{8P0_S+bow6-uv=|ViQ{Qo{J5EmLk5TB?qa56A3h%kWKSQ-ps40;UW47Lms
z3_c8!4B-q?3{ecy3`q<!aNp@MXfiBiSjNE2puwQeu$*BT*q_PJ5C!>;8{|7tb_S(i
z3@!|epq4H)h@UYqGq5o*FobJqZ)0!;yWV3bgEu3C))of;$Q=y9;ky_j85njl#4<7L
zWJqRY@B?`;T^H<sD;7x>Xb4DvSdbvFV%3sl-Nul<{Qnc34GatnEa2FY0$ZcNz{a4&
zpvj=jpvR!X;KQKG5Xzti_J;`rD}xUM8^a2QWelt!2SHuWz!1)`l3^JGBLf>lAcGLt
zZ<-8x467LU8JHPXL(>mLWF`YMI4%VlnEo-Cu`_71GeG<-$H2&-$>7Dn1WKZe><nxS
z%nS?+lc1^7S9=?S={yE$o!t!Dksvl}iuN`J`|S+bkT?QykflL<))ZuEQ>`rwxhyG*
zkj+Q{DMMCdueF7t5LFRK32Ope5k_!nGjK5IFsL)=GPp75F=R97GfZGG00$Q+Q8O@1
zf(OzhXdrPgbTO=9;Adch2Mt7ICIb^VXt)_z{xGPsGl<Hms6cb{S_Vc??*Nh@7~e6l
zFmNz1Fx=YBP!hSFq0DzTLwV$OhDyKP3{{ca8EULpbU;bPV<$r`6GOPpPKIVi1}j!c
zR%kkq0kNRzfK8G`l1-9r8$(O@^8XKXb~1E;iijqioebUJykf-)N@O4neM}598Tcew
zK<Q@k0S4_2;1uKmNn~u2Y*52pKrE=??7EWdI~l+l*_QvmuLI&uV`2yg3r}Za2$y7$
zWJj0?am0@0|EskTY0`@U)GIJ$;9xLg5MVH8kYuo6P-U=WaAvS#2w<>gh-9!~NMW#L
zC}OZ<sAaHcSis=Gu#UlzVLO8p!vO|ohD!`C3|ARk8E!DRfg>e|frG)Bfs0`s!!iao
zh6M~p4C@(|F|aeFFcdOufTrtP@F=?lkFrY)8yPk+Ffj-)oMPC_5X8XDAjxo$VGF}n
z1{QEMf+CxP0i<dhT-A2CsvQh0;HWiWVE@mc%fQCYzzt6Nb?glN><m@x3`z_PzZjJM
zFzB!|X#W9?H7NZ7^|ZBrFsLyxFf;4~m(05uc0=>h9tLKH!wg3ljxro)U|<kpU}Df_
SU}8AIAjxo&;WWcp21x*Oc3lSm

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/Grid.class b/build/classes/java/main/grid/Grid.class
similarity index 58%
rename from build/classes/java/main/Grid.class
rename to build/classes/java/main/grid/Grid.class
index abc72c01fbe72954e14638fa7e2b6bffc14378ed..08aa92028cbb925516370f3224907b2157bc2a89 100644
GIT binary patch
delta 336
zcmaDS-X}33gpD)3C^JQWVrVCahK3J>{V-L5J2yWiHAmkUL~=1GF{tt|urjDIGVnpw
zOpa!h=HT^#sM=h?D9Oam4bi=MGV^vOK}H541|9|m21W)^2t7HPE!L8C8-w;n1_lNu
zhFAs$1}z3I1_lNp1`Y;c23`gc1|bGf25|;423ZDi1|<dw1|0@T1`7r$24@E8$sgJJ
z1?3oc7~~lw7!(+^859}x8I&eZWcTG%VPI!aW#DGeocx?!mXUEXD@UKC4g(j1E`vUU
z4udI!9)mrDK0^wF9zzy`;p8<Ow#<wSnUe*$Bqp<Px^tQ^a50!N*fN++p2Mv^xtcSH
z(~^OU!HU6_!5S>W%at^lk=tnULaqc(X9g|?7Y17fH?WK$cM_*30~doAgDr#i<T>0y
E0BylPI{*Lx

delta 304
zcmeB^cqcv~gpp-pR422thR?*;siLgD`6;P6TntJKsyqy=3~G!FoEkop3mB!D*nKun
zW|U-NV)NO&nRz>tAOnLC0}lfTh(hSe)oihrEZZ2gH!?6VFfqh3FfeE_a4|42@Gx*N
z@G|f+@G%H6@H2=r2r$Sp2r?)!2r=j|2s2nPh%h)ah)xz{?-!I{;9-ztkYJEv&}NWk
z&}WdDypi3PQ;vb1L7st|L3uJehb$w*WL1tnNi_y826YB~1~mp#1`P&#22F+(1`UQR
z2JOjbIBc027&0dta7j#7;dJNJW8h-YXRu{3n7oHuee!J1Bu--nE(Q|@TLx3Gh%Q$W
qr#S-`g9U>vgB4h0KUdP^elDZQ!Q2U)&J0`(E)2E|u9Nq02LS*-)iWOe

diff --git a/build/classes/java/main/model/Fire.class b/build/classes/java/main/model/Fire.class
new file mode 100644
index 0000000000000000000000000000000000000000..ffaef6a003613578cc8e673e2ce27e75258d51f6
GIT binary patch
literal 2172
zcmX^0Z`VEs1_nEZ5-tWN24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00SP6iGJPId+^9tLg(9!3VP-29Z(9DTRUqEto(mg17s0!9W#Pj&`AMg~E!
zNu?#3Ir<)n#Tmh=C0q==49p+{1bG;Q7=#%aSkp3#Qi~ZG_<ay+gHuba*%?F`83YUR
zi!)0y^YiorpbRbsaRv!?21y<UDF$gq20pMRuv2{#OEMT4*oqSKQu1@b4s`+9Bg?}e
z2XZAxQGU5|era9_NKk=?K@lvNoSy?0<YEwEPzHHlg^__(!_!kUjGIA?L7kmJgNH$r
zL5q=r7i<yOC&8&Dj10_)DJhH$q8boagB<_~D{IXtb_N|r24RE-$D*RdN}tT)5-tX9
z24;}K`aBE<42Fyh9GNAlMTsT(MT`t$8k!KZN<pFJ2^F{IW-w+jVP`PqVK8GbXJimU
zm<m(E$iSYFSnQWt0dkdwW)w(=B@crYgEb=qOCDHQ1ZFm}JGmG*7;JeM>=^7B8F&(t
zOESw6OHv_`sH)+E5%AW?&I5VInw!Cq!HJ#0nTNrJ!4(!2VAq4B85!6TQ&Jprau^vT
zp`iqpbI#AnNlgaDsWr&0jtu&s2=U-y@MQ2}WMD}z%1mKo;PwI0`tC)UDb}E<@!?_c
zW$<HUU@pop2S=?ZNHl<lArLH@oS(zR5X=z5&JfDO5XPXw$iNBL&&a@8keHcQ0`eIs
z=$%0Rjs%5|J;(#<j0~K?ndy0nC8eO`tAZ2<!Ko!SSi->$6t2$sDXE||o0*sDSDKrY
zS`?C)l#|NHAmo#uoR|}qSd<CkLj_q%GBS%98F+jU8O0hD_j#EmnTa`>j0`Lqo|<8d
z46K=XDXA5V3|ycr0Wp@5fj77$F*(~eu>fiq7c{Ce^Ya)PSU@Tn8HBMolaYZvFSQ)x
zYeohRD65!}K>*2vplGsYWDrAjb7es))GAdpwYWlq1D04A8LWs&Ik?PW$;m7(VPxP6
z&Mz%WPIb!!1t=%T2YR4X&!EV_!NA18z`)AD04jJGK){p13q*mkIG9#s-~rP@48jbI
z4ABe>3``6$46F={ppuP&ks+3Wfx(@DnSqgkfk9MjI|HK@^Hv6St=$Z~k=q&gw=xK9
z1Z#<7U|`^5U<O;n!ob78$soWG&%nUI1JTHkz>vtmz`)3m#E=X%w1<HMtlpT}Rz`Xe
zgPztF27%oSB9S{7#I&|B$h2qoL0Izb*?rp?ly)+xGBJd=FflIwe;H&YGXuy<AqEx(
z1_ogUb_Nj!9R^_rBL)$$wF(T(3``6L3@Hpe;1Do|I)H(}m?0JHs5Ax!22KX1KMYKa
zzZmox7#Y$T*dQ)rlx1KB8(Xing@K*5U=~B(ZU*hh?F_m;T3Z+db~5NOGWhE3WH4f6
zn8_fcvy;Jsk>LP?h@ZBW?luOSoeU044B^ZFKh)mI;D)479-&Zc3xm7vHU@9qZ4Ca~
z7=o7nzXvi`dnZFU6GOOG<Q4{YmV~Vg>>yvVfPJaOz{SA8AkM(aAi*HWAjzP|AjM$C
zAkARQAj1&OAj^=+AkR?3pukYapa}N876S`|9s>_U216zTGebB7KSLInCCHG>kj;<-
zj*@z4h~z>e2_l!rz{mg!87T(VzYNms436v!#=jU8|1hwD87jXRKsBEogFOQiIAvHd
zFoDCDO-p+lL&OGnQUC=d1A{WyHDVAIQ2Q7d*ckE|GT~{hfPsm@3T7T7I|CayQA~n{
zxUcp$2Jd+c(mJ4&0b;YHXm4Zi2d9T9CWdej2U!}#XGuYp_68*;mXt-vW+Z@=AuICN
z+QJ}@stBZnB>}ET2jn+MY)CP%F)%QwGjK3yFsL(VGPp5lF=R7nGfZI60s9w}_81r@
z!Tmc4>R%3qE`~ye90n!^SeQdZ@)(%FVb0CK@&{CbI?Ac2Kr><i10zEbI8ciLDu&F;

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/model/Model.class b/build/classes/java/main/model/Model.class
new file mode 100644
index 0000000000000000000000000000000000000000..f5a82156ee03baf18c7ee96cbffafb38d006dfc5
GIT binary patch
literal 1494
zcmX^0Z`VEs1_nEZSS|)824;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00Sb_Nbc2GO+4^o)|U%%W6%-~5t%HxMtih>L-pftizmn}LU&ftQDYkAa_&
zfjc)pB{fIi7es=2aMg?q;yzf7v1VrwWMmLQ$hl<}rGl&g*&qP1L4=1vltGM<feYjY
zh#Vt>7?ODiJ=W|D5{wK22;-b{@=H^SxfsMDMoIH9$S}w<GO#6s#Tgldkc@$-wPt6K
zXJilthfHZnW{$pNQBh*0PiAom7lRzc6eS)8Wd;>S1|E=uz;>k;6*Dpj_#iZa)LXMN
zs4+5dK>`KjMlJ?bhyj{B3|b7@j0~(G1Bw|Lczh6wtU-aQ%fq0@pwGy_Qe2W+z{tSp
z2@*8qVK8DaW@KPVFUm||WZ?Dz(faO1nJLzs45kcb><s2S3>F}5oNyUN29D(X9OwMf
zyb_QRW*~*uJPbA<RUAe6<!~8mkmKxm7#tWJ85uZ0X&^H(CzFwZMZ;4wjEg~l!5$Qd
z_Mm9D2XWna7~DZgh$}I<B(p5BBr`t`q`(cNzzt-U8zTc}aAta5Vo7OHDkFm`THx6D
z6yz6Yg0$%eKpEC{){G2%X=#3`<uIXQMh4zwR6d^ulD{>>7#Ucc^HWk88TfrN^HTjv
zbCXhwLK2g5QbBQ>pPZNzmROVt;zI>lN-{D*rb0s;oK`{B!hBo|_6j2dyN0KyrzgmK
zaI%9K%*Y@JiZM_cEJ-bbiE)Dy6O1RAi^wD}F|OeJ(xT*4w@i?;xWIPmfzk?tA_F%A
z69WSSHv<DGZW%zpf<Yfdf#L{E^D*#)X;B6-FfGF%3#OGBR2Uc;ycrl6m>7H*7(gis
zEbfaY?uW+L1Dnsxz{tSL;LpIw5Wv8|u!(^g?2a(4?F@`syBXLcw=-~VW#H1<%^(oD
zok3_TgRs_a2Jy)443b+Jq_lQ3$VF~vP}s_#sI{9xHF7(H`c?)FE#|EZI$GLW84R?v
zw=kG&Wv~R%R$CctH-g<5$iTp$2llBv0}F#713!Z>gA{`ZgDQg<g8_p$gEfOJg9C#C
zgDZm~gD-;;LnwnXLl6T4gBZkR48aT`VE=`ILyD1sks*{J4C?+C1||kp1_lNttt|{1
z(%Ts9w6-t^%WPwC(%QlxCA*EmS!)Xemnh3N1{Z`|#K1Z<7&sU-83Y)#7$g|9859{z
zz;>E|<&@xdDlvpJ=rb^aY+#6B&<DFni6N3fpMe=H7R8{?z{0=?$`Vi)g)@L$$iN^A
za>+IZSCB)tF?fL7v5mnK<jidhUg(bTVPI#7V&G#)W)Nj4WRPJf20MlaY_TlVF^mk+
I;NXk_0JY>SyZ`_I

literal 0
HcmV?d00001

diff --git a/build/classes/java/main/position/Position.class b/build/classes/java/main/position/Position.class
new file mode 100644
index 0000000000000000000000000000000000000000..7678dcf784c91dfeffd7de8ac1c7c502dd86fc9e
GIT binary patch
literal 1413
zcmX^0Z`VEs1_nC@TP_AB24;2!79Ivx1~x_pfvm)`ME#t^ymbAb)a3l46h;O%o6Nk-
z5<5l)W)00SP6iGJPId+^9tLg(9!3Vig8bsllFa-({QxL~k%74=znqbQ(G#SUkB5OD
zq>ec`KSzjxfkBXmL5M+^k%6NmKe(hQGcTQyL0!WK!w_ptAA~y~3avrfMR^#+7{nPF
zI5HB8Go15NQW+V<uxj@Nsg~qnkYbQ#WME4zEKSTQW@OO7rWVO2|D>$c<PvMmC`JZW
z4Np(aFh&Lzh%Nj+nR%&xrMXF|MInhvIjM{cLO%J)i8*13MVTNzRFI`4BeR&1K^TjV
z7#Re7Q%f@PQvwo;5_3~aQj3Zi8ALR&coZDao{S8l8rYr2m=CfY5k62?Gcs@m=a&{G
zr@Cc=+{X)x5IvAeMg}%mbP71-=a&?h6eSiw+*8cY#-Pi^pvR!k&S1d9V8~#^$RH2W
z14#u%rFkWpxvBaPTcBDP890+*rZ6&WM0RLqURi#2sy;-aM`B(|PHM4=Pkw%OX@ND8
zf1r_yBm&hKQdyAdl3JWxlvz-cUxcj1IVZ8W7+C;nMl_}&$hM=TC5SJqIT%bB8Q6>R
z%dM01bNCq<*!dY5co`XZJoEBWi@^4z7PB*0GBT(l0s`tjWTRmoV`s2tWRSzJl#ziA
z5(*543>*wh3=9lR3__qx#K6EH1j-}~3=C`xj0~&{G7L-%vJ4CizM!1Rz`($-wVi=c
zOL{8<yOzvW2HuTet#VN13=GT+@(c_N3JlC3r3?xTiVPsY4>p<+EXL2k!@$I##K6G7
z$;7}77Ghu!WDsIdW?%%{WXQnC08+}XwTnT3fnfty8+af}pf(6Hh%u;O(JsQku!bn@
zQVgn4?KTWd;PBwk(%!`&flI#_L=Dt>1_llWH3oICySd>G(FgMx7+AHoFtFou1}oGU
zMh1SYnt6%Q%)+1n_NgX=76StV9|I_CdBC9yBDKL{j0`#qEDRhB#tfzmW(?*G3=CWh
Nj0_eGRtz=_k^nc&A1nX>

literal 0
HcmV?d00001

diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin
index a03e2a7667f4aee40a96aa3d95994982de790be4..0f0728cc4c133795de8262bbb5804bba0037686c 100644
GIT binary patch
delta 16795
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

delta 16285
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
bSd5W>JBJ<<gvqpnLysNIWMX9p*}(t+j9mZb

diff --git a/src/main/java/App.java b/src/main/java/App.java
index 10dda1d..4f0eed4 100644
--- a/src/main/java/App.java
+++ b/src/main/java/App.java
@@ -1,3 +1,4 @@
+import grid.Grid;
 import javafx.application.Application;
 import javafx.scene.Group;
 import javafx.scene.Scene;
diff --git a/src/main/java/Clouds.java b/src/main/java/Clouds.java
deleted file mode 100644
index bbbf9f9..0000000
--- a/src/main/java/Clouds.java
+++ /dev/null
@@ -1,5 +0,0 @@
-import java.util.List;
-
-public class Clouds {
-
-}
diff --git a/src/main/java/Model.java b/src/main/java/Model.java
deleted file mode 100644
index 52d20ea..0000000
--- a/src/main/java/Model.java
+++ /dev/null
@@ -1,191 +0,0 @@
-import java.util.*;
-
-
-public class Model  {
-    Grid grid;
-    int colCount, rowCount;
-    MotoFighter motoFighter = new MotoFighter();
-    List<Position>linefite=new ArrayList<>();
-
-    List<Position> firefighters = new ArrayList<>();
-    List<Position> clouds = new ArrayList<>();
-    Set<Position> fires = new HashSet<>();
-    List<Position> ffNewPositions;
-    List<Position> cNewPositions;
-
-
-    int step = 0;
-
-    public Model(Grid grid) {
-        this.grid = grid;
-        colCount = grid.colCount;
-        rowCount = grid.rowCount;
-    }
-
-
-    public void initialisation(int fireNumber, int fireFighterNumber,int cloudNumber,int motoFighterNumber){
-        for(int index=0; index<fireNumber;index++)
-            fires.add(randomPosition());
-        for(int index=0; index<fireFighterNumber;index++)
-            firefighters.add(randomPosition());
-        for(int index=0; index<cloudNumber;index++)
-            clouds.add(randomPosition());
-        for(int index=0; index<motoFighterNumber;index++)
-            linefite.add(randomPosition());
-        motoFighter.motofighter.add(randomPosition().row());
-    }
-
-    private Position randomPosition() {
-        return new Position((int) (Math.random()*rowCount), (int) (Math.random()*colCount));
-    }
-
-
-
-    public void activation(){
-        ffNewPositions = new ArrayList<>();
-        for(Position ff : firefighters){
-            Position newPosition = activateFirefighter(ff);
-            grid.paint(ff.row(),ff.col());
-            grid.paintFF(newPosition.row(), newPosition.col());
-            ffNewPositions.add(newPosition);
-        }
-
-        cNewPositions = new ArrayList<>();
-
-        for(Position cc : clouds){
-            Position newPosition = activeCloud(cc);
-            grid.paint(cc.row(),cc.col());
-            grid.paintCC(newPosition.row(), newPosition.col());
-            cNewPositions.add(newPosition);
-        }
-
-       /* for(Position mF : motofighter){
-            Position newPosition = motoFighter.activateFighter(mF);
-            grid.paint(mF.row,mF.col);
-            grid.paintMF(newPosition.row, newPosition.col);
-            mfNewPositions.add(newPosition);
-        }*/
-
-        firefighters = ffNewPositions;
-
-        clouds = cNewPositions;
-
-        motoFighter.activation();
-
-
-
-        if(step%2==0){
-            List<Position> newFires = new ArrayList<>();
-            for(Position fire : fires){
-                newFires.addAll(activateFire(fire));
-            }
-            for(Position newFire : newFires)
-                grid.paintFire(newFire.row(), newFire.col());
-
-            fires.addAll(newFires);}
-        step++;
-
-    }
-
-    private List<Position> activateFire(Position position) {
-        return next(position);
-    }
-
-    private Position activeCloud(Position position){
-        Position randomPosition=next(position).get((int) (Math.random()*next(position).size()));
-        List<Position> nextFires = next(randomPosition).stream().filter(fires::contains).toList();
-        extinguish(randomPosition);
-        for (Position fire : nextFires)
-            extinguish(fire);
-        return randomPosition;
-
-    }
-
-  /*  private Position activateMotofighter(Position position) {
-        Position randomPosition = tStepTowardFire(position);
-        //next(position).get((int) (Math.random()*next(position).size()));
-        List<Position> nextFires = next(randomPosition).stream().filter(fires::contains).toList();
-        extinguish(randomPosition);
-        for (Position fire : nextFires)
-            extinguish(fire);
-        return randomPosition;
-    }*/
-
-
-
-    private Position activateFirefighter(Position position) {
-        Position randomPosition = aStepTowardFire(position);
-                //next(position).get((int) (Math.random()*next(position).size()));
-        List<Position> nextFires = next(randomPosition).stream().filter(fires::contains).toList();
-        extinguish(randomPosition);
-            for (Position fire : nextFires)
-                extinguish(fire);
-            return randomPosition;
-        }
-
-        private void extinguish(Position position) {
-        fires.remove(position);
-        grid.paint(position.row(), position.col());
-    }
-
-    private List<Position> next(Position position){
-        List<Position> list = new ArrayList<>();
-        if(position.row()>0) list.add(new Position(position.row()-1, position.col()));
-        if(position.col()>0) list.add(new Position(position.row(), position.col()-1));
-        if(position.row()<rowCount-1) list.add(new Position(position.row()+1, position.col()));
-        if(position.col()<colCount-1) list.add(new Position(position.row(), position.col()+1));
-        return list;
-    }
-   /* private List<Position> nextTwo(Position position){
-        List<Position> list = new ArrayList<>();
-        if(position.row>0) list.add(new Position(position.row-2, position.col));
-        if(position.col>0) list.add(new Position(position.row, position.col-2));
-        if(position.row<rowCount-1) list.add(new Position(position.row+2, position.col));
-        if(position.col<colCount-1) list.add(new Position(position.row, position.col+2));
-        return list;
-    }*/
-
-    private Position aStepTowardFire(Position position){
-        Queue<Position> toVisit = new LinkedList<>();
-        Set<Position> seen = new HashSet<>();
-        HashMap<Position,Position> firstMove = new HashMap<>();
-        toVisit.addAll(next(position));
-        for(Position initialMove : toVisit)
-            firstMove.put(initialMove,initialMove);
-        while(!toVisit.isEmpty()){
-            Position current = toVisit.poll();
-            if(fires.contains(current))
-                return firstMove.get(current);
-            for(Position adjacent : next(current)){
-                if(seen.contains(adjacent)) continue;
-                toVisit.add(adjacent);
-                seen.add(adjacent);
-                firstMove.put(adjacent, firstMove.get(current));
-            }
-        }
-        return position;
-    }
-
-  /*  private Position tStepTowardFire(Position position){
-        Queue<Position> toVisit = new LinkedList<>();
-        Set<Position> seen = new HashSet<>();
-        HashMap<Position,Position> firstMove = new HashMap<>();
-        toVisit.addAll(nextTwo(position));
-        for(Position initialMove : toVisit)
-            firstMove.put(initialMove,initialMove);
-        while(!toVisit.isEmpty()){
-            Position current = toVisit.poll();
-            if(fires.contains(current))
-                return firstMove.get(current);
-            for(Position adjacent : next(current)){
-                if(seen.contains(adjacent)) continue;
-                toVisit.add(adjacent);
-                seen.add(adjacent);
-                firstMove.put(adjacent, firstMove.get(current));
-            }
-        }
-        return position;
-    }*/
-
-
-}
\ No newline at end of file
diff --git a/src/main/java/AntiFire.java b/src/main/java/fightfire/AntiFire.java
similarity index 83%
rename from src/main/java/AntiFire.java
rename to src/main/java/fightfire/AntiFire.java
index c42dd1c..92f06c5 100644
--- a/src/main/java/AntiFire.java
+++ b/src/main/java/fightfire/AntiFire.java
@@ -1,12 +1,17 @@
+package fightfire;
+
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
+import grid.Grid;
+
 public abstract class AntiFire {
     Set<Position> fires = new HashSet<>();
     Grid grid;
 
     int colCount, rowCount;
+    public abstract void initiali(int number);
 
     public abstract void activation();
     public abstract Position activateFighter(Position position);
@@ -17,7 +22,7 @@ public abstract class AntiFire {
 
     public  void extinguish(Position position){
         fires.remove(position);
-        grid.paint(position.row, position.col);
+        grid.paint(position.row(), position.col());
     }
     public Position randomPosition() {
         return new Position((int) (Math.random()*rowCount), (int) (Math.random()*colCount));
diff --git a/src/main/java/fightfire/Clouds.java b/src/main/java/fightfire/Clouds.java
new file mode 100644
index 0000000..dd6eebf
--- /dev/null
+++ b/src/main/java/fightfire/Clouds.java
@@ -0,0 +1,57 @@
+package fightfire;
+
+import fightfire.AntiFire;
+
+import java.util.*;
+
+public class Clouds extends AntiFire {
+    List<Position> ccNewPositions;
+    List<Position> clouds = new ArrayList<>();
+
+    @Override
+    public void initiali(int number) {
+        for(int index=0; index<number;index++)
+            clouds.add(randomPosition());
+
+    }
+
+    @Override
+    public void activation() {
+        ccNewPositions = new ArrayList<>();
+        for(Position cc : clouds){
+            Position newPosition = activateFighter(cc);
+            grid.paint(cc.row(), cc.row());
+            grid.paintMF(newPosition.row(), newPosition.col());
+            ccNewPositions.add(newPosition);
+        }
+        clouds = ccNewPositions;
+
+    }
+
+    @Override
+    public Position activateFighter(Position position) {
+        Position randomPosition = moveTowardFire(position);
+        //next(position).get((int) (Math.random()*next(position).size()));
+        List<Position> nextFires = next(randomPosition).stream().filter(fires::contains).toList();
+        extinguish(randomPosition);
+        for (Position fire : nextFires)
+            extinguish(fire);
+        return randomPosition;
+    }
+
+    @Override
+    public List<Position> next(Position position) {
+        List<Position> list = new ArrayList<>();
+        if(position.row()>0) list.add(new Position(position.row()-1, position.col()));
+        if(position.col()>0) list.add(new Position(position.row(), position.col()-1));
+        if(position.row()<rowCount-1) list.add(new Position(position.row()+1, position.col()));
+        if(position.col()<colCount-1) list.add(new Position(position.row(), position.col()+1));
+        return list;
+    }
+
+    @Override
+    public Position moveTowardFire(Position position) {
+        return next(position).get((int) (Math.random()*next(position).size()));
+    }
+
+}
diff --git a/src/main/java/fightfire/FireFigher.java b/src/main/java/fightfire/FireFigher.java
new file mode 100644
index 0000000..345a62f
--- /dev/null
+++ b/src/main/java/fightfire/FireFigher.java
@@ -0,0 +1,72 @@
+package fightfire;
+
+import fightfire.AntiFire;
+
+import java.util.*;
+
+public class FireFigher extends AntiFire {
+    List<Position>ffNewPositions= new ArrayList<>();
+    List<Position>firefighters=new ArrayList<>();
+    @Override
+    public void initiali(int number) {
+        for(int index=0; index<number;index++)
+            firefighters.add(randomPosition());
+
+    }
+
+    @Override
+    public void activation() {
+        ffNewPositions = new ArrayList<>();
+        for(Position ff : firefighters){
+            Position newPosition = activateFighter(ff);
+            grid.paint(ff.row(),ff.col());
+            grid.paintFF(newPosition.row(), newPosition.col());
+            ffNewPositions.add(newPosition);
+        }
+
+    }
+
+    @Override
+    public Position activateFighter(Position position) {
+        Position randomPosition = moveTowardFire(position);
+        //next(position).get((int) (Math.random()*next(position).size()));
+        List<Position> nextFires = next(randomPosition).stream().filter(fires::contains).toList();
+        extinguish(randomPosition);
+        for (Position fire : nextFires)
+            extinguish(fire);
+        return randomPosition;
+    }
+
+
+    @Override
+    public List<Position> next(Position position) {
+        List<Position> list = new ArrayList<>();
+        if(position.row()>0) list.add(new Position(position.row()-1, position.col()));
+        if(position.col()>0) list.add(new Position(position.row(), position.col()-1));
+        if(position.row()<rowCount-1) list.add(new Position(position.row()+1, position.col()));
+        if(position.col()<colCount-1) list.add(new Position(position.row(), position.col()+1));
+        return list;
+    }
+
+    @Override
+    public Position moveTowardFire(Position position) {
+        Queue<Position> toVisit = new LinkedList<>();
+        Set<Position> seen = new HashSet<>();
+        HashMap<Position, Position> firstMove = new HashMap<>();
+        toVisit.addAll(next(position));
+        for(Position initialMove : toVisit)
+            firstMove.put(initialMove,initialMove);
+        while(!toVisit.isEmpty()){
+            Position current = toVisit.poll();
+            if(fires.contains(current))
+                return firstMove.get(current);
+            for(Position adjacent : next(current)){
+                if(seen.contains(adjacent)) continue;
+                toVisit.add(adjacent);
+                seen.add(adjacent);
+                firstMove.put(adjacent, firstMove.get(current));
+            }
+        }
+        return position;
+    }
+}
diff --git a/src/main/java/MotoFighter.java b/src/main/java/fightfire/MotoFighter.java
similarity index 92%
rename from src/main/java/MotoFighter.java
rename to src/main/java/fightfire/MotoFighter.java
index c3d9186..903da11 100644
--- a/src/main/java/MotoFighter.java
+++ b/src/main/java/fightfire/MotoFighter.java
@@ -1,3 +1,7 @@
+package fightfire;
+
+import fightfire.AntiFire;
+
 import java.util.*;
 
 public class MotoFighter extends AntiFire {
@@ -5,6 +9,11 @@ public class MotoFighter extends AntiFire {
     List<Position> motofighter = new ArrayList<>();
 
 
+    @Override
+    public void initiali(int number) {
+        for(int index=0; index<number;index++)
+            motofighter.add(randomPosition());
+    }
 
     @Override
     public void activation() {
diff --git a/src/main/java/Grid.java b/src/main/java/grid/Grid.java
similarity index 90%
rename from src/main/java/Grid.java
rename to src/main/java/grid/Grid.java
index 0c52228..187212a 100644
--- a/src/main/java/Grid.java
+++ b/src/main/java/grid/Grid.java
@@ -1,11 +1,17 @@
+package grid;
+
 import javafx.scene.canvas.Canvas;
 import javafx.scene.canvas.GraphicsContext;
 import javafx.scene.input.MouseEvent;
 import javafx.scene.paint.Color;
+import model.Model;
 
 public class Grid extends Canvas{
-    int width, height, colCount, rowCount;
-    Model model;
+    int width;
+    int height;
+    public int colCount;
+    public int rowCount;
+    public Model model;
 
 
     public Grid(int width, int height, int colCount, int rowCount) {
@@ -17,7 +23,7 @@ public class Grid extends Canvas{
         setFocusTraversable(true);
         setOnMousePressed(this::mousePressed);
         model = new Model(this);
-        model.initialisation(3,1,2,1);
+        model.initialisation(3,1,2,2);
     }
 
     public void restart(MouseEvent mouseEvent){
@@ -34,7 +40,7 @@ public class Grid extends Canvas{
             model.click((int)x*rowCount/height,(int)y*colCount/width);*/
     }
 
-    void repaint(){
+    public void repaint(){
         for(int col=0; col<colCount; col++)
             getGraphicsContext2D().strokeLine(0, col*width/colCount,height, col*width/colCount);
         for(int row=0; row<rowCount;row++)
@@ -42,7 +48,7 @@ public class Grid extends Canvas{
 
     }
 
-    void paint(int row, int col){
+    public void paint(int row, int col){
         getGraphicsContext2D().setFill(Color.WHITE);
         getGraphicsContext2D().fillRect(row*height/rowCount,col*width/colCount,height/rowCount,width/colCount);
     }
diff --git a/src/main/java/model/Fire.java b/src/main/java/model/Fire.java
new file mode 100644
index 0000000..9a72bd6
--- /dev/null
+++ b/src/main/java/model/Fire.java
@@ -0,0 +1,48 @@
+package model;
+
+import grid.Grid;
+import position.Position;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+public class Fire {
+    int step =0;
+    Grid grid;
+    int rowCount,colCount;
+
+    Set<Position> fires = new HashSet<>();
+
+    public void initiali(int fireNumber){
+        for(int index=0; index<fireNumber;index++)
+            fires.add(new Position((int) (Math.random()*rowCount), (int) (Math.random()*colCount)));}
+
+    public void activation() {
+        if(step%2==0){
+            List<Position> newFires = new ArrayList<>();
+            for(Position fire : fires){
+                newFires.addAll(activateFire(fire));
+            }
+            for(Position newFire : newFires)
+                grid.paintFire(newFire.row(), newFire.col());
+
+            fires.addAll(newFires);}
+        step++;
+    }
+    private List<Position> activateFire(Position position) {
+        return next(position);
+    }
+
+    private List<Position> next(Position position){
+        List<Position> list = new ArrayList<>();
+        if(position.row()>0) list.add(new Position(position.row()-1, position.col()));
+        if(position.col()>0) list.add(new Position(position.row(), position.col()-1));
+        if(position.row()<rowCount-1) list.add(new Position(position.row()+1, position.col()));
+        if(position.col()<colCount-1) list.add(new Position(position.row(), position.col()+1));
+        return list;
+    }
+
+
+}
\ No newline at end of file
diff --git a/src/main/java/model/Model.java b/src/main/java/model/Model.java
new file mode 100644
index 0000000..454700d
--- /dev/null
+++ b/src/main/java/model/Model.java
@@ -0,0 +1,218 @@
+package model;
+
+import fightfire.Clouds;
+import fightfire.FireFigher;
+import fightfire.MotoFighter;
+import grid.Grid;
+
+import model.Model;
+import position.Position;
+
+import java.util.*;
+
+
+public class Model  {
+    Grid grid;
+    int colCount, rowCount;
+    MotoFighter motoFighter =new MotoFighter();
+
+    FireFigher fireFigher = new FireFigher();
+    Clouds clouds=new Clouds();
+
+    List<Position> firefighters = new ArrayList<>();
+    Fire fires = new Fire();
+
+    List<Position> ffNewPositions;
+    List<Position> cNewPositions;
+
+
+    int step = 0;
+
+    public Model(Grid grid) {
+        this.grid = grid;
+        colCount = grid.colCount;
+        rowCount = grid.rowCount;
+    }
+
+
+    public void initialisation(int fireNumber, int fireFighterNumber,int cloudNumber,int motoFighterNumber){
+
+        fires.initiali(fireNumber);
+        fireFigher.initiali(fireFighterNumber);
+        clouds.initiali(cloudNumber);
+        motoFighter.initiali(motoFighterNumber);
+
+
+
+        /*for(int index=0; index<fireFighterNumber;index++)
+            firefighters.add(randomPosition());
+        for(int index=0; index<cloudNumber;index++)
+            clouds.add(randomPosition());*/
+
+    }
+
+   /*private position.Position randomPosition() {
+        return new position.Position((int) (Math.random()*rowCount), (int) (Math.random()*colCount));
+    }*/
+
+
+
+
+    public void activation(){
+
+
+
+       /*
+        ffNewPositions = new ArrayList<>();
+        for(position.Position ff : firefighters){
+            position.Position newPosition = activateFirefighter(ff);
+            grid.paint(ff.row(),ff.col());
+            grid.paintFF(newPosition.row(), newPosition.col());
+            ffNewPositions.add(newPosition);
+        }
+        firefighters = ffNewPositions;
+        */
+
+        fireFigher.activation();
+
+       /* cNewPositions = new ArrayList<>();
+
+        for(position.Position cc : clouds){
+            position.Position newPosition = activeCloud(cc);
+            grid.paint(cc.row(),cc.col());
+            grid.paintCC(newPosition.row(), newPosition.col());
+            cNewPositions.add(newPosition);
+        }
+
+         clouds = cNewPositions;
+
+        */
+        clouds.activation();
+
+       /* for(position.Position mF : motofighter){
+            position.Position newPosition = motoFighter.activateFighter(mF);
+            grid.paint(mF.row,mF.col);
+            grid.paintMF(newPosition.row, newPosition.col);
+            mfNewPositions.add(newPosition);
+        }*/
+
+        motoFighter.activation();
+
+
+
+       /* if(step%2==0){
+            List<position.Position> newFires = new ArrayList<>();
+            for(position.Position fire : fires){
+                newFires.addAll(activateFire(fire));
+            }
+            for(position.Position newFire : newFires)
+                grid.paintFire(newFire.row(), newFire.col());
+
+            fires.addAll(newFires);}
+        step++;8*/
+        fires.activation();
+
+    }
+
+   /* private List<position.Position> activateFire(position.Position position) {
+        return next(position);
+    }*/
+
+   /* private position.Position activeCloud(position.Position position){
+        position.Position randomPosition=next(position).get((int) (Math.random()*next(position).size()));
+        List<position.Position> nextFires = next(randomPosition).stream().filter(fires::contains).toList();
+        extinguish(randomPosition);
+        for (position.Position fire : nextFires)
+            extinguish(fire);
+        return randomPosition;
+
+    }*/
+
+  /*  private position.Position activateMotofighter(position.Position position) {
+        position.Position randomPosition = tStepTowardFire(position);
+        //next(position).get((int) (Math.random()*next(position).size()));
+        List<position.Position> nextFires = next(randomPosition).stream().filter(fires::contains).toList();
+        extinguish(randomPosition);
+        for (position.Position fire : nextFires)
+            extinguish(fire);
+        return randomPosition;
+    }*/
+
+
+
+   /* private position.Position activateFirefighter(position.Position position) {
+        position.Position randomPosition = aStepTowardFire(position);
+                //next(position).get((int) (Math.random()*next(position).size()));
+        List<position.Position> nextFires = next(randomPosition).stream().filter(fires::contains).toList();
+        extinguish(randomPosition);
+            for (position.Position fire : nextFires)
+                extinguish(fire);
+            return randomPosition;
+        }*/
+
+       /* private void extinguish(position.Position position) {
+        fires.remove(position);
+        grid.paint(position.row(), position.col());
+    }*/
+/*
+    private List<position.Position> next(position.Position position){
+        List<position.Position> list = new ArrayList<>();
+        if(position.row()>0) list.add(new position.Position(position.row()-1, position.col()));
+        if(position.col()>0) list.add(new position.Position(position.row(), position.col()-1));
+        if(position.row()<rowCount-1) list.add(new position.Position(position.row()+1, position.col()));
+        if(position.col()<colCount-1) list.add(new position.Position(position.row(), position.col()+1));
+        return list;
+    }*/
+   /* private List<position.Position> nextTwo(position.Position position){
+        List<position.Position> list = new ArrayList<>();
+        if(position.row>0) list.add(new position.Position(position.row-2, position.col));
+        if(position.col>0) list.add(new position.Position(position.row, position.col-2));
+        if(position.row<rowCount-1) list.add(new position.Position(position.row+2, position.col));
+        if(position.col<colCount-1) list.add(new position.Position(position.row, position.col+2));
+        return list;
+    }*/
+
+  /*  private position.Position aStepTowardFire(position.Position position){
+        Queue<position.Position> toVisit = new LinkedList<>();
+        Set<position.Position> seen = new HashSet<>();
+        HashMap<position.Position,position.Position> firstMove = new HashMap<>();
+        toVisit.addAll(next(position));
+        for(position.Position initialMove : toVisit)
+            firstMove.put(initialMove,initialMove);
+        while(!toVisit.isEmpty()){
+            position.Position current = toVisit.poll();
+            if(fires.contains(current))
+                return firstMove.get(current);
+            for(position.Position adjacent : next(current)){
+                if(seen.contains(adjacent)) continue;
+                toVisit.add(adjacent);
+                seen.add(adjacent);
+                firstMove.put(adjacent, firstMove.get(current));
+            }
+        }
+
+    }*/
+
+  /*  private position.Position tStepTowardFire(position.Position position){
+        Queue<position.Position> toVisit = new LinkedList<>();
+        Set<position.Position> seen = new HashSet<>();
+        HashMap<position.Position,position.Position> firstMove = new HashMap<>();
+        toVisit.addAll(nextTwo(position));
+        for(position.Position initialMove : toVisit)
+            firstMove.put(initialMove,initialMove);
+        while(!toVisit.isEmpty()){
+            position.Position current = toVisit.poll();
+            if(fires.contains(current))
+                return firstMove.get(current);
+            for(position.Position adjacent : next(current)){
+                if(seen.contains(adjacent)) continue;
+                toVisit.add(adjacent);
+                seen.add(adjacent);
+                firstMove.put(adjacent, firstMove.get(current));
+            }
+        }
+        return position;
+    }*/
+
+
+}
\ No newline at end of file
diff --git a/src/main/java/Position.java b/src/main/java/position/Position.java
similarity index 70%
rename from src/main/java/Position.java
rename to src/main/java/position/Position.java
index 47d44a1..8af853b 100644
--- a/src/main/java/Position.java
+++ b/src/main/java/position/Position.java
@@ -1,2 +1,4 @@
+package position;
+
 public record Position(int row , int col) {
 }
-- 
GitLab