From 778b8ee5061bc2e68005f0aa5ca28ed917c4306c Mon Sep 17 00:00:00 2001
From: Youssouf <ali-moussa.YOUSSOUF@etu.univ-amu.fr>
Date: Thu, 23 Nov 2023 13:41:34 +0100
Subject: [PATCH] refactorisation su package View afin qu'il respecte le
 principe SOLID

---
 src/main/java/controller/Controller.java |  9 ++++-----
 src/main/java/model/Fire.java            |  2 ++
 src/main/java/model/FireFighter.java     |  2 ++
 src/main/java/view/EMPTY.java            | 10 ++++++++++
 src/main/java/view/FIRE.java             | 10 ++++++++++
 src/main/java/view/FIREFIGHTER.java      | 10 ++++++++++
 src/main/java/view/FirefighterGrid.java  |  2 +-
 src/main/java/view/ViewElement.java      |  8 ++------
 8 files changed, 41 insertions(+), 12 deletions(-)
 create mode 100644 src/main/java/view/EMPTY.java
 create mode 100644 src/main/java/view/FIRE.java
 create mode 100644 src/main/java/view/FIREFIGHTER.java

diff --git a/src/main/java/controller/Controller.java b/src/main/java/controller/Controller.java
index 2a60897..2698f72 100644
--- a/src/main/java/controller/Controller.java
+++ b/src/main/java/controller/Controller.java
@@ -16,8 +16,7 @@ import model.Board;
 import model.ModelElement;
 import model.FirefighterBoard;
 import util.Position;
-import view.Grid;
-import view.ViewElement;
+import view.*;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -83,12 +82,12 @@ public class Controller {
 
   private ViewElement getViewElement(List<ModelElement> squareState) {
     if(squareState.contains(ModelElement.FIREFIGHTER)){
-      return ViewElement.FIREFIGHTER;
+      return new FIREFIGHTER();
     }
     if (squareState.contains(ModelElement.FIRE)){
-      return ViewElement.FIRE;
+      return new FIRE();
     }
-    return ViewElement.EMPTY;
+    return new EMPTY();
   }
 
   private void initializeTimeline() {
diff --git a/src/main/java/model/Fire.java b/src/main/java/model/Fire.java
index f4b6d97..b3f769c 100644
--- a/src/main/java/model/Fire.java
+++ b/src/main/java/model/Fire.java
@@ -1,4 +1,6 @@
 package model;
 
 public class Fire {
+
+
 }
diff --git a/src/main/java/model/FireFighter.java b/src/main/java/model/FireFighter.java
index 0fa67d3..a8991f4 100644
--- a/src/main/java/model/FireFighter.java
+++ b/src/main/java/model/FireFighter.java
@@ -1,4 +1,6 @@
 package model;
 
 public class FireFighter {
+
+
 }
diff --git a/src/main/java/view/EMPTY.java b/src/main/java/view/EMPTY.java
new file mode 100644
index 0000000..634423e
--- /dev/null
+++ b/src/main/java/view/EMPTY.java
@@ -0,0 +1,10 @@
+package view;
+
+import javafx.scene.paint.Color;
+
+public class EMPTY implements ViewElement {
+    @Override
+    public Color getColor() {
+        return Color.WHITE;
+    }
+}
diff --git a/src/main/java/view/FIRE.java b/src/main/java/view/FIRE.java
new file mode 100644
index 0000000..f66b7f3
--- /dev/null
+++ b/src/main/java/view/FIRE.java
@@ -0,0 +1,10 @@
+package view;
+
+import javafx.scene.paint.Color;
+
+public class FIRE  implements ViewElement {
+    @Override
+    public Color getColor() {
+        return Color.RED;
+    }
+}
diff --git a/src/main/java/view/FIREFIGHTER.java b/src/main/java/view/FIREFIGHTER.java
new file mode 100644
index 0000000..eb56dad
--- /dev/null
+++ b/src/main/java/view/FIREFIGHTER.java
@@ -0,0 +1,10 @@
+package view;
+
+import javafx.scene.paint.Color;
+
+public class FIREFIGHTER implements ViewElement {
+    @Override
+    public Color getColor() {
+        return Color.BLUE;
+    }
+}
diff --git a/src/main/java/view/FirefighterGrid.java b/src/main/java/view/FirefighterGrid.java
index 4c9041f..031a472 100644
--- a/src/main/java/view/FirefighterGrid.java
+++ b/src/main/java/view/FirefighterGrid.java
@@ -10,7 +10,7 @@ import java.util.List;
 public class FirefighterGrid extends Canvas implements Grid<ViewElement>{
 
     private void paintElementAtPosition(ViewElement element, Position position) {
-        paintBox(position.row(), position.column(), element.color);
+        paintBox(position.row(), position.column(), element.getColor());
     }
     private int boxWidth;
     private int boxHeight;
diff --git a/src/main/java/view/ViewElement.java b/src/main/java/view/ViewElement.java
index ffb7611..d15fa59 100644
--- a/src/main/java/view/ViewElement.java
+++ b/src/main/java/view/ViewElement.java
@@ -2,10 +2,6 @@ package view;
 
 import javafx.scene.paint.Color;
 
-public enum ViewElement {
-  FIREFIGHTER(Color.BLUE), FIRE(Color.RED), EMPTY(Color.WHITE);
-  final Color color;
-  ViewElement(Color color) {
-    this.color = color;
-  }
+public interface ViewElement {
+ Color getColor() ;
 }
-- 
GitLab