From 55264c19b220711a42834eae0ad0cd764ee5973b Mon Sep 17 00:00:00 2001
From: Yanis O <oualanyanis01@gmail.com>
Date: Wed, 27 Nov 2024 21:44:28 +0100
Subject: [PATCH] =?UTF-8?q?Fix=20probl=C3=A8me=20image?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/main/java/controller/Controller.java                     | 5 +++--
 src/main/java/model/EmptySquare.java                         | 5 +++--
 src/main/java/model/Entity.java                              | 4 ++--
 src/main/java/model/Road.java                                | 5 +++--
 src/main/java/model/Scenario.java                            | 1 -
 src/main/java/model/doctorviruspatient/Doctor.java           | 5 +++--
 src/main/java/model/doctorviruspatient/Patient.java          | 5 +++--
 src/main/java/model/doctorviruspatient/Virus.java            | 5 +++--
 src/main/java/model/firefighterscenario/AirTanker.java       | 5 +++--
 src/main/java/model/firefighterscenario/Cloud.java           | 5 +++--
 src/main/java/model/firefighterscenario/Fire.java            | 5 +++--
 src/main/java/model/firefighterscenario/FireFighter.java     | 5 +++--
 .../java/model/firefighterscenario/MotorizedFireFighter.java | 5 +++--
 src/main/java/model/firefighterscenario/Mountain.java        | 5 +++--
 src/main/java/model/firefighterscenario/Rockery.java         | 5 +++--
 src/main/java/model/rockpapercisor/Cisor.java                | 5 +++--
 src/main/java/model/rockpapercisor/Paper.java                | 5 +++--
 src/main/java/model/rockpapercisor/Rock.java                 | 5 +++--
 src/main/java/view/FirefighterGrid.java                      | 3 +--
 src/main/java/view/ViewElement.java                          | 1 +
 20 files changed, 52 insertions(+), 37 deletions(-)

diff --git a/src/main/java/controller/Controller.java b/src/main/java/controller/Controller.java
index 0976e4f..4c076fe 100644
--- a/src/main/java/controller/Controller.java
+++ b/src/main/java/controller/Controller.java
@@ -20,6 +20,7 @@ import javafx.scene.control.ToggleGroup;
 import javafx.util.Duration;
 import javafx.util.Pair;
 import model.Board;
+import model.EmptySquare;
 import model.Entity;
 import model.EntityFactory;
 import model.Model;
@@ -94,8 +95,8 @@ public class Controller {
   private ViewElement getViewElement(Square square) {
     if (!square.getEntities().isEmpty()) {
       for (Entity entity : square.getEntities()) {
-
-          return new ViewElement(entity.getImage());
+        if(entity instanceof EmptySquare)continue;
+          return entity.getViewElement();
       }
     }
     return new ViewElement(square.getViewColor());
diff --git a/src/main/java/model/EmptySquare.java b/src/main/java/model/EmptySquare.java
index b32c516..e14e38d 100644
--- a/src/main/java/model/EmptySquare.java
+++ b/src/main/java/model/EmptySquare.java
@@ -6,6 +6,7 @@ import java.util.List;
 import javafx.scene.paint.Color;
 import model.firefighterscenario.Cloud;
 import util.Position;
+import view.ViewElement;
 
 public class EmptySquare implements Entity {
 
@@ -73,7 +74,7 @@ public class EmptySquare implements Entity {
     }
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement() {
+        return new ViewElement(cloudImage);
     }
 }
diff --git a/src/main/java/model/Entity.java b/src/main/java/model/Entity.java
index dc29e8e..2b53e3a 100644
--- a/src/main/java/model/Entity.java
+++ b/src/main/java/model/Entity.java
@@ -1,9 +1,9 @@
 package model;
-import javafx.scene.image.Image;
 import java.util.List;
 
 import javafx.scene.paint.Color;
 import util.Position;
+import view.ViewElement;
 
 
 public interface Entity {
@@ -21,5 +21,5 @@ public interface Entity {
     public void incrementAge();
     public Color getViewColor();
     public int getPriority();
-    public Image getImage();
+    public ViewElement getViewElement();
 }
diff --git a/src/main/java/model/Road.java b/src/main/java/model/Road.java
index 74e6c46..e208d99 100644
--- a/src/main/java/model/Road.java
+++ b/src/main/java/model/Road.java
@@ -5,6 +5,7 @@ import java.util.List;
 import javafx.scene.paint.Color;
 import model.firefighterscenario.Cloud;
 import util.Position;
+import view.ViewElement;
 
 public class Road implements Entity{
     private int age;
@@ -65,8 +66,8 @@ public class Road implements Entity{
     }
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement(){
+        return new ViewElement(cloudImage);
     }
 
 }
diff --git a/src/main/java/model/Scenario.java b/src/main/java/model/Scenario.java
index b0943a4..912f7fb 100644
--- a/src/main/java/model/Scenario.java
+++ b/src/main/java/model/Scenario.java
@@ -86,7 +86,6 @@ public class Scenario implements Board<Square>{
   @Override
   public void clearCaseFrom(Entity entity, Position position) {
     if(!matrix.get(position.x(), position.y()).getEntities().removeIf(element -> element.equals(entity))){
-      System.out.println("didn't clear, tried to clear : x:" + position.x() + " y : " + position.y());
       for(Entity e : getStates(position).getEntities()){
         System.out.println(e);
       }
diff --git a/src/main/java/model/doctorviruspatient/Doctor.java b/src/main/java/model/doctorviruspatient/Doctor.java
index 2724db6..cb2d809 100644
--- a/src/main/java/model/doctorviruspatient/Doctor.java
+++ b/src/main/java/model/doctorviruspatient/Doctor.java
@@ -13,6 +13,7 @@ import model.Square;
 import model.firefighterscenario.Cloud;
 import util.Position;
 import util.PositionUtil;
+import view.ViewElement;
 
 public class Doctor implements Entity {
     private final int priority = 1;
@@ -163,8 +164,8 @@ public class Doctor implements Entity {
     }
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement() {
+        return new ViewElement (cloudImage);
     }
 
 
diff --git a/src/main/java/model/doctorviruspatient/Patient.java b/src/main/java/model/doctorviruspatient/Patient.java
index 41c31b7..8e13879 100644
--- a/src/main/java/model/doctorviruspatient/Patient.java
+++ b/src/main/java/model/doctorviruspatient/Patient.java
@@ -13,6 +13,7 @@ import model.firefighterscenario.Cloud;
 import util.PathGenerator;
 import util.Position;
 import util.PositionUtil;
+import view.ViewElement;
 
 public class Patient implements Entity {
     private final int priority = 1;
@@ -349,8 +350,8 @@ public class Patient implements Entity {
     }
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return isInfected() ? infectedImage : healthyImage;
+    public ViewElement getViewElement() {
+        return isInfected() ? new ViewElement(infectedImage) : new ViewElement(healthyImage);
     }
 
 
diff --git a/src/main/java/model/doctorviruspatient/Virus.java b/src/main/java/model/doctorviruspatient/Virus.java
index 4d06b86..632b425 100644
--- a/src/main/java/model/doctorviruspatient/Virus.java
+++ b/src/main/java/model/doctorviruspatient/Virus.java
@@ -12,6 +12,7 @@ import model.firefighterscenario.Cloud;
 import util.PathGenerator;
 import util.Position;
 import util.PositionUtil;
+import view.ViewElement;
 
 public class Virus implements Entity {
     private final int priority = 2;
@@ -159,8 +160,8 @@ public class Virus implements Entity {
 
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement() {
+        return new ViewElement(cloudImage);
     }
 
 }
diff --git a/src/main/java/model/firefighterscenario/AirTanker.java b/src/main/java/model/firefighterscenario/AirTanker.java
index 015b3e5..130850a 100644
--- a/src/main/java/model/firefighterscenario/AirTanker.java
+++ b/src/main/java/model/firefighterscenario/AirTanker.java
@@ -11,6 +11,7 @@ import model.Square;
 import util.Direction;
 import util.Position;
 import util.PositionUtil;
+import view.ViewElement;
 
 public class AirTanker implements Entity{
     private final Color viewColor = Color.GOLD;
@@ -173,7 +174,7 @@ public class AirTanker implements Entity{
     }
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement() {
+        return new ViewElement(cloudImage);
     }
 }
diff --git a/src/main/java/model/firefighterscenario/Cloud.java b/src/main/java/model/firefighterscenario/Cloud.java
index 1ef87b4..99caef1 100644
--- a/src/main/java/model/firefighterscenario/Cloud.java
+++ b/src/main/java/model/firefighterscenario/Cloud.java
@@ -10,6 +10,7 @@ import model.Entity;
 import model.Square;
 import util.Position;
 import util.PositionUtil;
+import view.ViewElement;
 
 public class Cloud implements Entity{
     private int age;
@@ -116,8 +117,8 @@ public class Cloud implements Entity{
     }
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement() {
+        return new ViewElement(cloudImage);
     }
 
 
diff --git a/src/main/java/model/firefighterscenario/Fire.java b/src/main/java/model/firefighterscenario/Fire.java
index 2d63a90..05f4b98 100644
--- a/src/main/java/model/firefighterscenario/Fire.java
+++ b/src/main/java/model/firefighterscenario/Fire.java
@@ -12,6 +12,7 @@ import model.Road;
 import model.Square;
 import util.Position;
 import util.PositionUtil;
+import view.ViewElement;
 
 
 public class Fire implements Entity {
@@ -143,8 +144,8 @@ public class Fire implements Entity {
     }
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement() {
+        return new ViewElement(cloudImage);
     }
 
 }
diff --git a/src/main/java/model/firefighterscenario/FireFighter.java b/src/main/java/model/firefighterscenario/FireFighter.java
index a21c132..7403803 100644
--- a/src/main/java/model/firefighterscenario/FireFighter.java
+++ b/src/main/java/model/firefighterscenario/FireFighter.java
@@ -10,6 +10,7 @@ import model.Entity;
 import model.Square;
 import util.Position;
 import util.PositionUtil;
+import view.ViewElement;
 
 
 
@@ -235,7 +236,7 @@ public class FireFighter implements Entity {
     public int getPriority(){ return this.priority;}
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement() {
+        return new ViewElement(cloudImage);
     }
 }
diff --git a/src/main/java/model/firefighterscenario/MotorizedFireFighter.java b/src/main/java/model/firefighterscenario/MotorizedFireFighter.java
index cb315fd..904a338 100644
--- a/src/main/java/model/firefighterscenario/MotorizedFireFighter.java
+++ b/src/main/java/model/firefighterscenario/MotorizedFireFighter.java
@@ -8,6 +8,7 @@ import model.Board;
 import model.Square;
 import util.Position;
 import util.PositionUtil;
+import view.ViewElement;
 
 public class MotorizedFireFighter extends FireFighter {
     private final Color viewColor = Color.CYAN;
@@ -125,7 +126,7 @@ public class MotorizedFireFighter extends FireFighter {
     }
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement() {
+        return new ViewElement(cloudImage);
     }
 }
\ No newline at end of file
diff --git a/src/main/java/model/firefighterscenario/Mountain.java b/src/main/java/model/firefighterscenario/Mountain.java
index d55af5f..f8bd49c 100644
--- a/src/main/java/model/firefighterscenario/Mountain.java
+++ b/src/main/java/model/firefighterscenario/Mountain.java
@@ -7,6 +7,7 @@ import model.Board;
 import model.Entity;
 import model.Square;
 import util.Position;
+import view.ViewElement;
 
 public class Mountain implements Entity{
     private final int priority = 0;
@@ -75,7 +76,7 @@ public class Mountain implements Entity{
     }
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement() {
+        return new ViewElement(cloudImage);
     }
 }
diff --git a/src/main/java/model/firefighterscenario/Rockery.java b/src/main/java/model/firefighterscenario/Rockery.java
index 2953bbb..26b0856 100644
--- a/src/main/java/model/firefighterscenario/Rockery.java
+++ b/src/main/java/model/firefighterscenario/Rockery.java
@@ -7,6 +7,7 @@ import model.Board;
 import model.Entity;
 import model.Square;
 import util.Position;
+import view.ViewElement;
 
 public class Rockery implements Entity{
     private final int priority = 0;
@@ -90,7 +91,7 @@ public class Rockery implements Entity{
     }
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement() {
+        return new ViewElement(cloudImage);
     }
 }
diff --git a/src/main/java/model/rockpapercisor/Cisor.java b/src/main/java/model/rockpapercisor/Cisor.java
index 1a9fdfa..0ab152e 100644
--- a/src/main/java/model/rockpapercisor/Cisor.java
+++ b/src/main/java/model/rockpapercisor/Cisor.java
@@ -11,6 +11,7 @@ import model.Square;
 import model.firefighterscenario.Cloud;
 import util.Position;
 import util.PositionUtil;
+import view.ViewElement;
 
 public class Cisor implements Entity {
     private final int priority = 0;
@@ -133,8 +134,8 @@ public class Cisor implements Entity {
     }
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement() {
+        return new ViewElement(cloudImage);
     }
 
 }
diff --git a/src/main/java/model/rockpapercisor/Paper.java b/src/main/java/model/rockpapercisor/Paper.java
index c4454cf..9f972a3 100644
--- a/src/main/java/model/rockpapercisor/Paper.java
+++ b/src/main/java/model/rockpapercisor/Paper.java
@@ -10,6 +10,7 @@ import model.Square;
 import model.firefighterscenario.Cloud;
 import util.Position;
 import util.PositionUtil;
+import view.ViewElement;
 
 public class Paper implements Entity {
     private final int priority = 0;
@@ -115,8 +116,8 @@ public class Paper implements Entity {
     }
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement() {
+        return new ViewElement(cloudImage);
     }
 
 }
diff --git a/src/main/java/model/rockpapercisor/Rock.java b/src/main/java/model/rockpapercisor/Rock.java
index 6cc8112..459c0e6 100644
--- a/src/main/java/model/rockpapercisor/Rock.java
+++ b/src/main/java/model/rockpapercisor/Rock.java
@@ -10,6 +10,7 @@ import model.Square;
 import model.firefighterscenario.Cloud;
 import util.Position;
 import util.PositionUtil;
+import view.ViewElement;
 
 public class Rock implements Entity {
     private final int priority = 0;
@@ -116,8 +117,8 @@ public class Rock implements Entity {
     }
 
     @Override
-    public javafx.scene.image.Image getImage() {
-        return cloudImage;
+    public ViewElement getViewElement(){
+        return new ViewElement(cloudImage);
     }
 
 }
diff --git a/src/main/java/view/FirefighterGrid.java b/src/main/java/view/FirefighterGrid.java
index 67dc61c..5d043c8 100644
--- a/src/main/java/view/FirefighterGrid.java
+++ b/src/main/java/view/FirefighterGrid.java
@@ -1,9 +1,8 @@
 package view;
-import javafx.scene.image.Image;
-
 import java.util.List;
 
 import javafx.scene.canvas.Canvas;
+import javafx.scene.image.Image;
 import javafx.scene.paint.Color;
 import javafx.util.Pair;
 import util.Position;
diff --git a/src/main/java/view/ViewElement.java b/src/main/java/view/ViewElement.java
index 3059a47..028b6b7 100644
--- a/src/main/java/view/ViewElement.java
+++ b/src/main/java/view/ViewElement.java
@@ -17,6 +17,7 @@ public class ViewElement {
     public ViewElement(Image image) {
         this.color = null;
         this.image = image;
+        System.out.println("defining image : " + image.getUrl());
     }
 
     public Color getColor() {
-- 
GitLab