diff --git a/src/main/java/model/Board.java b/src/main/java/model/Board.java index d81a2d8cf8941c1cd05e30aaf6fea7716f1e620d..9757c259b100eb195154b3bd739b29b39b3e9bc7 100644 --- a/src/main/java/model/Board.java +++ b/src/main/java/model/Board.java @@ -1,6 +1,6 @@ package model; -import model.Extinguisher.Extinguisher; + import model.Obstacle.Obstacle; import util.Position; @@ -34,7 +34,7 @@ public interface Board<S> { Map<Position, Obstacle> getObstacles(); - Map<Position, Extinguisher> getExtinguishers(); + Map<Position, Fire> getFires(); diff --git a/src/main/java/model/Element.java b/src/main/java/model/Element.java index e4a3b0b8606ba3c7937cd877e8508c1071810ad2..7b3aeb3a45e5de3bc302e4a26ae37e90f89245bb 100644 --- a/src/main/java/model/Element.java +++ b/src/main/java/model/Element.java @@ -6,7 +6,7 @@ import java.util.List; public interface Element { - boolean contains(List<Position>positions); + Position getPosition(); diff --git a/src/main/java/model/Extinguisher/Cloud.java b/src/main/java/model/Extinguisher/Cloud.java index b3cd7ef99e37c3b271649f0139e6d2425943ef49..51daffca4d01fdf8f2afec5a4b86a147e9bc7556 100644 --- a/src/main/java/model/Extinguisher/Cloud.java +++ b/src/main/java/model/Extinguisher/Cloud.java @@ -1,7 +1,7 @@ package model.Extinguisher; import model.Board; -import model.Extinguisher.Extinguisher; + import model.ModelElement; import util.Neighbour; import util.Position; diff --git a/src/main/java/model/Extinguisher/Extinguisher.java b/src/main/java/model/Extinguisher/Extinguisher.java index 9b865b165df2557945b801e8330aa362e3672ced..5326fa07209c6e7631115103b12be393b2dbff59 100644 --- a/src/main/java/model/Extinguisher/Extinguisher.java +++ b/src/main/java/model/Extinguisher/Extinguisher.java @@ -27,12 +27,6 @@ public abstract class Extinguisher implements Element { this.position = position; } - @Override - public boolean contains(List<Position> positions) { - return positions.contains(this.getPosition()); - } - - public ModelElement getElement(){ return this.element; diff --git a/src/main/java/model/Extinguisher/FireFighter.java b/src/main/java/model/Extinguisher/FireFighter.java index fd21fed3b3b71ba10230b442a31a6385f751cb39..50d329fde4a2d953f22ffe4db68b91c712ec4d67 100644 --- a/src/main/java/model/Extinguisher/FireFighter.java +++ b/src/main/java/model/Extinguisher/FireFighter.java @@ -2,7 +2,7 @@ package model.Extinguisher; import model.Board; import model.ModelElement; -import model.Obstacle.Montain; +import model.Obstacle.Mountain; import model.Obstacle.Obstacle; import util.Neighbour; import util.Position; @@ -46,7 +46,7 @@ public class FireFighter extends Extinguisher { } for(Obstacle obstacle : firefighterBoard.getObstacles().values()){ - if(obstacle instanceof Montain){ + if(obstacle instanceof Mountain){ modifiedPositions.remove(obstacle.getPosition()); } } diff --git a/src/main/java/model/Extinguisher/MotorizedFireFighter.java b/src/main/java/model/Extinguisher/MotorizedFireFighter.java index 05d4f1c021accd334bad30f1159da879b6239791..12df7c9a906d14ea6edcdfff7e913ddb472ddc5f 100644 --- a/src/main/java/model/Extinguisher/MotorizedFireFighter.java +++ b/src/main/java/model/Extinguisher/MotorizedFireFighter.java @@ -3,7 +3,7 @@ package model.Extinguisher; import model.Board; import model.ModelElement; -import model.Obstacle.Montain; +import model.Obstacle.Mountain; import model.Obstacle.Obstacle; import util.Neighbour; import util.Position; @@ -43,7 +43,7 @@ public class MotorizedFireFighter extends Extinguisher { } for (Obstacle obstacle : firefighterBoard.getObstacles().values()) { - if (obstacle instanceof Montain) { + if (obstacle instanceof Mountain) { modifiedPositions.remove(obstacle.getPosition()); } } diff --git a/src/main/java/model/Fire.java b/src/main/java/model/Fire.java index 73ee024e0035eb25ee373fa8cc1954c44ee0d607..95ba7143c10483510e98ab6a21808dba328a08b3 100644 --- a/src/main/java/model/Fire.java +++ b/src/main/java/model/Fire.java @@ -1,6 +1,6 @@ package model; -import model.Obstacle.Montain; +import model.Obstacle.Mountain; import model.Obstacle.Obstacle; import model.Obstacle.Road; import util.Neighbour; @@ -57,11 +57,6 @@ public class Fire implements Element { } return modifiedPositions; } - public boolean contains(List<Position> positions) { - return positions.contains(this.getPosition()); - - } - public List<Position>removeMountainAndRoads(Board<List<ModelElement>> firefighterBoard,Position position){ List<Position>neighboursAvailable; @@ -70,7 +65,7 @@ public class Fire implements Element { if(firefighterBoard.stepNumber()%4==0){ List<Position>MountainAndRoadsPositions = new ArrayList<>(); for(Obstacle obstacle : firefighterBoard.getObstacles().values()){ - if(obstacle instanceof Road || obstacle instanceof Montain){ + if(obstacle instanceof Road || obstacle instanceof Mountain){ MountainAndRoadsPositions.add(obstacle.getPosition()); neighboursAvailable.removeAll(MountainAndRoadsPositions); } diff --git a/src/main/java/model/FirefighterBoard.java b/src/main/java/model/FirefighterBoard.java index 108e4abb4c634a0f4ae32abea8ea40e1f3f6b600..e5ba2bad0547858d54be9252c01600b2590a6269 100644 --- a/src/main/java/model/FirefighterBoard.java +++ b/src/main/java/model/FirefighterBoard.java @@ -12,9 +12,9 @@ import java.util.*; public class FirefighterBoard implements Board<List<ModelElement>> { private final int columnCount; private final int rowCount; - private Map<Position, Fire> fires = new HashMap<>(); - private Map<Position, Extinguisher> extinguishers = new HashMap<>(); - private Map<Position, Obstacle> obstacles = new HashMap<>(); + private final Map<Position, Fire> fires = new HashMap<>(); + private final Map<Position, Extinguisher> extinguishers = new HashMap<>(); + private final Map<Position, Obstacle> obstacles = new HashMap<>(); private final Position[][] positions; private int step = 0; @@ -112,10 +112,6 @@ public class FirefighterBoard implements Board<List<ModelElement>> { return this.fires; } - @Override - public Map<Position, Extinguisher> getExtinguishers() { - return extinguishers; - } public Map<Position, Obstacle> getObstacles() { return obstacles; diff --git a/src/main/java/model/ModelElement.java b/src/main/java/model/ModelElement.java index 643632a67f78d7225ed37545c20cb675c0870014..8d3aee5b22ded539178e28096667f80ee560504e 100644 --- a/src/main/java/model/ModelElement.java +++ b/src/main/java/model/ModelElement.java @@ -4,14 +4,12 @@ import model.Extinguisher.Cloud; import model.Extinguisher.Extinguisher; import model.Extinguisher.FireFighter; import model.Extinguisher.MotorizedFireFighter; -import model.Obstacle.Montain; +import model.Obstacle.Mountain; import model.Obstacle.Obstacle; import model.Obstacle.Road; import model.Obstacle.Rocaille; import util.Position; -import java.util.ArrayList; -import java.util.List; public enum ModelElement { @@ -41,7 +39,7 @@ public enum ModelElement { case ROAD -> new Road(position); case FIREFIGHTER -> new FireFighter(position); case CLOUD -> new Cloud(position); - case MOUNTAIN -> new Montain(position); + case MOUNTAIN -> new Mountain(position); case ROCAILLE -> new Rocaille(position); case MOTORIZEDFIREFIGHTER -> new MotorizedFireFighter(position); default -> throw new IllegalArgumentException("Unknown ModelElement: " + this); @@ -52,26 +50,13 @@ public enum ModelElement { - public static List<Integer> getInitialNumbers(){ - List<Integer>listIninitalNumbers = new ArrayList<>(); - for(ModelElement modelElement : ModelElement.values()){ - listIninitalNumbers.add(modelElement.getInitialNumber()); - } - return listIninitalNumbers; - } - public boolean isObstacle(){ - if(this.getModelElementClass(null) instanceof Obstacle){ - return true; - } - return false; - } + public boolean isObstacle() { + return this.getModelElementClass(null) instanceof Obstacle; + } public boolean isExtinguisher(){ - if(this.getModelElementClass(null) instanceof Extinguisher){ - return true; - } - return false; + return this.getModelElementClass(null) instanceof Extinguisher; } diff --git a/src/main/java/model/Obstacle/Montain.java b/src/main/java/model/Obstacle/Mountain.java similarity index 57% rename from src/main/java/model/Obstacle/Montain.java rename to src/main/java/model/Obstacle/Mountain.java index a86782b1f327776a88f0078f2c0796d9f48aeab0..cd9db1de19069329383cf54239c889ea96f1eac5 100644 --- a/src/main/java/model/Obstacle/Montain.java +++ b/src/main/java/model/Obstacle/Mountain.java @@ -1,11 +1,11 @@ package model.Obstacle; import model.ModelElement; -import model.Obstacle.Obstacle; + import util.Position; -public class Montain extends Obstacle { - public Montain(Position position) { +public class Mountain extends Obstacle { + public Mountain(Position position) { super(position); element = ModelElement.MOUNTAIN; } diff --git a/src/main/java/model/Obstacle/Obstacle.java b/src/main/java/model/Obstacle/Obstacle.java index e5688b27ec30d9786a1a551e8fdab0b14d078cc9..0000e54f07bcdf62a8eda7ca848aa8e4c4602885 100644 --- a/src/main/java/model/Obstacle/Obstacle.java +++ b/src/main/java/model/Obstacle/Obstacle.java @@ -5,7 +5,6 @@ import model.Element; import model.ModelElement; import util.Position; -import java.util.ArrayList; import java.util.List; public abstract class Obstacle implements Element { @@ -14,10 +13,7 @@ public abstract class Obstacle implements Element { public Obstacle(Position position){ this.position = position; } - public boolean contains(List<Position> positions) { - return positions.contains(this.getPosition()); - } @Override public Position getPosition() { return this.position; diff --git a/src/main/java/model/Obstacle/Road.java b/src/main/java/model/Obstacle/Road.java index b7e2120481d26b87e4c33093269c0ea29e565510..939581ddc27e1f7245c47ae3fdac872a0f4d9eab 100644 --- a/src/main/java/model/Obstacle/Road.java +++ b/src/main/java/model/Obstacle/Road.java @@ -1,7 +1,7 @@ package model.Obstacle; import model.ModelElement; -import model.Obstacle.Obstacle; + import util.Position; public class Road extends Obstacle { diff --git a/src/main/java/model/Obstacle/Rocaille.java b/src/main/java/model/Obstacle/Rocaille.java index 426b7b156918adc1539a52deebafab6b3dbcae69..0ce657ece8965c54de20041422cb6d4b5f4dc0ea 100644 --- a/src/main/java/model/Obstacle/Rocaille.java +++ b/src/main/java/model/Obstacle/Rocaille.java @@ -1,7 +1,7 @@ package model.Obstacle; import model.ModelElement; -import model.Obstacle.Obstacle; + import util.Position; public class Rocaille extends Obstacle {