diff --git a/src/main/java/controller/Controller.java b/src/main/java/controller/Controller.java index 0976e4f7632dcd050dd95e6e19222ef98ec37e75..4c076feedda8d8652a06253f1c78b252c0d91a5e 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 b32c51655761c436b39052249badbe938bd53730..e14e38d7c9164b0f00a3146efd551e1bf7ded8c7 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 dc29e8ea087302ed9c1b850367f25bdd66db85a8..2b53e3ae3319c167dfee1d7843b73d3fa312c4bf 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 74e6c46477434883795d7a47a853f5f2e761a63a..e208d99a8f20bfbec11d75ae327f055f06472099 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 b0943a4088cf9a90a66edee097db249ae2295476..912f7fbb89abb070eab0b2c42cd202b5727c60f2 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 2724db6575c46afdef0c980f1336da7f86b01d9c..cb2d809abc762d4db9990b7d15f2c90d15e1b390 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 41c31b7354a70ce30a60c2d30c175b92eca96c89..8e1387910f29240fffba163eec35593673304747 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 4d06b86134b06e603c405e7c26f971825f4ea5b8..632b4258afba963d57cd1fc1d06262ae36f96e0e 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 015b3e5535e0eb6261db798422a79b469d30454f..130850ac5509eca671da995d13c77c4d07d78cfc 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 1ef87b4f890e6e19a0fd11930c0eb3f77b0884bb..99caef1fe965b3093cf7f4b04bb520d18193ab85 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 2d63a9093eb9e0f73edae4f5ec56270131bf5470..05f4b9874df8e830646f680d08b8c4696ff96b61 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 a21c13294297c55532ed7c1f48552f88ef6e1fc1..7403803f0ea2731ded1113656b0c62b6ffd5cd00 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 cb315fd7ed31dc6e11956e7452144297e6531f6f..904a3387a1b86b46d03ddea6b7d48eb6c5fc5da5 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 d55af5f18bb5e8b455f9c0291b9d9360a61dae00..f8bd49c0f4a94c4c3f2deb1db85fc82670ec3f15 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 2953bbb1797b712a16148db9c02bb0f27375ee6a..26b0856a4089a35b61e36e4032292ea5a1c5b08f 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 1a9fdfa0403a4e4b51b538e5f8aa07f4f4f01b9d..0ab152ea50dc664b7054bb91c221051570bd675d 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 c4454cf6bdf78a2789335da6cc35a7958e8efae5..9f972a30e2e18fcf11ab89700ae7798cc19aa01e 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 6cc8112630cf8077ddb33ddcfe442fdad2ad6103..459c0e6895594f1f2b296f31483c487c5939d18f 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 67dc61c1e91e6400eb639b23f86ef1f04ebf67eb..5d043c8cf8fbb48fac5df25eaf81849618a0c0a2 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 3059a474eba08dc25e8e0e9cb8a186344a5c85c1..028b6b737cc364dcc1cd358252213fc249c4b9a4 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() {