Skip to content
Snippets Groups Projects
Commit 32a173d8 authored by MEHDI's avatar MEHDI
Browse files

changing details

parent 8c788a95
No related branches found
No related tags found
No related merge requests found
Showing
with 24 additions and 58 deletions
package model; package model;
import model.Extinguisher.Extinguisher;
import model.Obstacle.Obstacle; import model.Obstacle.Obstacle;
import util.Position; import util.Position;
...@@ -34,7 +34,7 @@ public interface Board<S> { ...@@ -34,7 +34,7 @@ public interface Board<S> {
Map<Position, Obstacle> getObstacles(); Map<Position, Obstacle> getObstacles();
Map<Position, Extinguisher> getExtinguishers();
Map<Position, Fire> getFires(); Map<Position, Fire> getFires();
......
...@@ -6,7 +6,7 @@ import java.util.List; ...@@ -6,7 +6,7 @@ import java.util.List;
public interface Element { public interface Element {
boolean contains(List<Position>positions);
Position getPosition(); Position getPosition();
......
package model.Extinguisher; package model.Extinguisher;
import model.Board; import model.Board;
import model.Extinguisher.Extinguisher;
import model.ModelElement; import model.ModelElement;
import util.Neighbour; import util.Neighbour;
import util.Position; import util.Position;
......
...@@ -27,12 +27,6 @@ public abstract class Extinguisher implements Element { ...@@ -27,12 +27,6 @@ public abstract class Extinguisher implements Element {
this.position = position; this.position = position;
} }
@Override
public boolean contains(List<Position> positions) {
return positions.contains(this.getPosition());
}
public ModelElement getElement(){ public ModelElement getElement(){
return this.element; return this.element;
......
...@@ -2,7 +2,7 @@ package model.Extinguisher; ...@@ -2,7 +2,7 @@ package model.Extinguisher;
import model.Board; import model.Board;
import model.ModelElement; import model.ModelElement;
import model.Obstacle.Montain; import model.Obstacle.Mountain;
import model.Obstacle.Obstacle; import model.Obstacle.Obstacle;
import util.Neighbour; import util.Neighbour;
import util.Position; import util.Position;
...@@ -46,7 +46,7 @@ public class FireFighter extends Extinguisher { ...@@ -46,7 +46,7 @@ public class FireFighter extends Extinguisher {
} }
for(Obstacle obstacle : firefighterBoard.getObstacles().values()){ for(Obstacle obstacle : firefighterBoard.getObstacles().values()){
if(obstacle instanceof Montain){ if(obstacle instanceof Mountain){
modifiedPositions.remove(obstacle.getPosition()); modifiedPositions.remove(obstacle.getPosition());
} }
} }
......
...@@ -3,7 +3,7 @@ package model.Extinguisher; ...@@ -3,7 +3,7 @@ package model.Extinguisher;
import model.Board; import model.Board;
import model.ModelElement; import model.ModelElement;
import model.Obstacle.Montain; import model.Obstacle.Mountain;
import model.Obstacle.Obstacle; import model.Obstacle.Obstacle;
import util.Neighbour; import util.Neighbour;
import util.Position; import util.Position;
...@@ -43,7 +43,7 @@ public class MotorizedFireFighter extends Extinguisher { ...@@ -43,7 +43,7 @@ public class MotorizedFireFighter extends Extinguisher {
} }
for (Obstacle obstacle : firefighterBoard.getObstacles().values()) { for (Obstacle obstacle : firefighterBoard.getObstacles().values()) {
if (obstacle instanceof Montain) { if (obstacle instanceof Mountain) {
modifiedPositions.remove(obstacle.getPosition()); modifiedPositions.remove(obstacle.getPosition());
} }
} }
......
package model; package model;
import model.Obstacle.Montain; import model.Obstacle.Mountain;
import model.Obstacle.Obstacle; import model.Obstacle.Obstacle;
import model.Obstacle.Road; import model.Obstacle.Road;
import util.Neighbour; import util.Neighbour;
...@@ -57,11 +57,6 @@ public class Fire implements Element { ...@@ -57,11 +57,6 @@ public class Fire implements Element {
} }
return modifiedPositions; return modifiedPositions;
} }
public boolean contains(List<Position> positions) {
return positions.contains(this.getPosition());
}
public List<Position>removeMountainAndRoads(Board<List<ModelElement>> firefighterBoard,Position position){ public List<Position>removeMountainAndRoads(Board<List<ModelElement>> firefighterBoard,Position position){
List<Position>neighboursAvailable; List<Position>neighboursAvailable;
...@@ -70,7 +65,7 @@ public class Fire implements Element { ...@@ -70,7 +65,7 @@ public class Fire implements Element {
if(firefighterBoard.stepNumber()%4==0){ if(firefighterBoard.stepNumber()%4==0){
List<Position>MountainAndRoadsPositions = new ArrayList<>(); List<Position>MountainAndRoadsPositions = new ArrayList<>();
for(Obstacle obstacle : firefighterBoard.getObstacles().values()){ for(Obstacle obstacle : firefighterBoard.getObstacles().values()){
if(obstacle instanceof Road || obstacle instanceof Montain){ if(obstacle instanceof Road || obstacle instanceof Mountain){
MountainAndRoadsPositions.add(obstacle.getPosition()); MountainAndRoadsPositions.add(obstacle.getPosition());
neighboursAvailable.removeAll(MountainAndRoadsPositions); neighboursAvailable.removeAll(MountainAndRoadsPositions);
} }
......
...@@ -12,9 +12,9 @@ import java.util.*; ...@@ -12,9 +12,9 @@ import java.util.*;
public class FirefighterBoard implements Board<List<ModelElement>> { public class FirefighterBoard implements Board<List<ModelElement>> {
private final int columnCount; private final int columnCount;
private final int rowCount; private final int rowCount;
private Map<Position, Fire> fires = new HashMap<>(); private final Map<Position, Fire> fires = new HashMap<>();
private Map<Position, Extinguisher> extinguishers = new HashMap<>(); private final Map<Position, Extinguisher> extinguishers = new HashMap<>();
private Map<Position, Obstacle> obstacles = new HashMap<>(); private final Map<Position, Obstacle> obstacles = new HashMap<>();
private final Position[][] positions; private final Position[][] positions;
private int step = 0; private int step = 0;
...@@ -112,10 +112,6 @@ public class FirefighterBoard implements Board<List<ModelElement>> { ...@@ -112,10 +112,6 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
return this.fires; return this.fires;
} }
@Override
public Map<Position, Extinguisher> getExtinguishers() {
return extinguishers;
}
public Map<Position, Obstacle> getObstacles() { public Map<Position, Obstacle> getObstacles() {
return obstacles; return obstacles;
......
...@@ -4,14 +4,12 @@ import model.Extinguisher.Cloud; ...@@ -4,14 +4,12 @@ import model.Extinguisher.Cloud;
import model.Extinguisher.Extinguisher; import model.Extinguisher.Extinguisher;
import model.Extinguisher.FireFighter; import model.Extinguisher.FireFighter;
import model.Extinguisher.MotorizedFireFighter; import model.Extinguisher.MotorizedFireFighter;
import model.Obstacle.Montain; import model.Obstacle.Mountain;
import model.Obstacle.Obstacle; import model.Obstacle.Obstacle;
import model.Obstacle.Road; import model.Obstacle.Road;
import model.Obstacle.Rocaille; import model.Obstacle.Rocaille;
import util.Position; import util.Position;
import java.util.ArrayList;
import java.util.List;
public enum ModelElement { public enum ModelElement {
...@@ -41,7 +39,7 @@ public enum ModelElement { ...@@ -41,7 +39,7 @@ public enum ModelElement {
case ROAD -> new Road(position); case ROAD -> new Road(position);
case FIREFIGHTER -> new FireFighter(position); case FIREFIGHTER -> new FireFighter(position);
case CLOUD -> new Cloud(position); case CLOUD -> new Cloud(position);
case MOUNTAIN -> new Montain(position); case MOUNTAIN -> new Mountain(position);
case ROCAILLE -> new Rocaille(position); case ROCAILLE -> new Rocaille(position);
case MOTORIZEDFIREFIGHTER -> new MotorizedFireFighter(position); case MOTORIZEDFIREFIGHTER -> new MotorizedFireFighter(position);
default -> throw new IllegalArgumentException("Unknown ModelElement: " + this); default -> throw new IllegalArgumentException("Unknown ModelElement: " + this);
...@@ -52,26 +50,13 @@ public enum ModelElement { ...@@ -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() { public boolean isObstacle() {
if(this.getModelElementClass(null) instanceof Obstacle){ return this.getModelElementClass(null) instanceof Obstacle;
return true;
}
return false;
}
public boolean isExtinguisher(){
if(this.getModelElementClass(null) instanceof Extinguisher){
return true;
} }
return false; public boolean isExtinguisher(){
return this.getModelElementClass(null) instanceof Extinguisher;
} }
......
package model.Obstacle; package model.Obstacle;
import model.ModelElement; import model.ModelElement;
import model.Obstacle.Obstacle;
import util.Position; import util.Position;
public class Montain extends Obstacle { public class Mountain extends Obstacle {
public Montain(Position position) { public Mountain(Position position) {
super(position); super(position);
element = ModelElement.MOUNTAIN; element = ModelElement.MOUNTAIN;
} }
......
...@@ -5,7 +5,6 @@ import model.Element; ...@@ -5,7 +5,6 @@ import model.Element;
import model.ModelElement; import model.ModelElement;
import util.Position; import util.Position;
import java.util.ArrayList;
import java.util.List; import java.util.List;
public abstract class Obstacle implements Element { public abstract class Obstacle implements Element {
...@@ -14,10 +13,7 @@ public abstract class Obstacle implements Element { ...@@ -14,10 +13,7 @@ public abstract class Obstacle implements Element {
public Obstacle(Position position){ public Obstacle(Position position){
this.position = position; this.position = position;
} }
public boolean contains(List<Position> positions) {
return positions.contains(this.getPosition());
}
@Override @Override
public Position getPosition() { public Position getPosition() {
return this.position; return this.position;
......
package model.Obstacle; package model.Obstacle;
import model.ModelElement; import model.ModelElement;
import model.Obstacle.Obstacle;
import util.Position; import util.Position;
public class Road extends Obstacle { public class Road extends Obstacle {
......
package model.Obstacle; package model.Obstacle;
import model.ModelElement; import model.ModelElement;
import model.Obstacle.Obstacle;
import util.Position; import util.Position;
public class Rocaille extends Obstacle { public class Rocaille extends Obstacle {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment