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