Skip to content
Snippets Groups Projects
Commit f4d390d4 authored by KALLEL Mohamed ali's avatar KALLEL Mohamed ali
Browse files

task1

parent bce149d1
No related branches found
No related tags found
No related merge requests found
Pipeline #25616 passed
Showing
with 18 additions and 31 deletions
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
File deleted
No preview for this file type
File deleted
File deleted
No preview for this file type
File deleted
...@@ -11,23 +11,18 @@ import static util.Tools.*; ...@@ -11,23 +11,18 @@ import static util.Tools.*;
public class FireFigther implements ModelElement{ public class FireFigther implements ModelElement{
@Override @Override
public void update(Position position, Map<Position, List<ModelElement>> board, int step, int columnCount, int rowCount) { public void update(Position position, Map<Position, List<ModelElement>> board, int step, int columnCount, int rowCount) {
for (Position position1 : neighbors(position, rowCount, columnCount)) {
if (board.containsKey(position1)) {
if (board.get(position1).contains(new Fire())) {
extinguish(position1,board);
}
}
} if(!extinguishneighbor(position,board,columnCount,rowCount)) {
Position newPositionStep = neighborClosestTo(position,board,rowCount,columnCount); Position newPositionStep = neighborClosestTo(position,board,rowCount,columnCount,new Fire(),List.of(new Mountain()));
extinguish(newPositionStep,board);
removeElement(position, board, new FireFigther()); removeElement(position, board, new FireFigther());
addElement(newPositionStep, board, new FireFigther()); addElement(newPositionStep, board, new FireFigther());
extinguishneighbor(newPositionStep,board,columnCount,rowCount);
}
} }
@Override @Override
public ViewElement getViewElement() { public ViewElement getViewElement() {
return ViewElement.FIREFIGHTER; return ViewElement.FIREFIGHTER;
......
...@@ -7,9 +7,9 @@ import java.util.List; ...@@ -7,9 +7,9 @@ import java.util.List;
import java.util.Map; import java.util.Map;
public interface ModelElement { public interface ModelElement {
void update (Position position,Map<Position,List<ModelElement>>board,int step,int columnCount, int rowCount);
void update(Position position, Map<Position, List<ModelElement>> board, int step, int columnCount, int rowCount);
ViewElement getViewElement(); ViewElement getViewElement();
} }
...@@ -12,24 +12,16 @@ import static util.Tools.removeElement; ...@@ -12,24 +12,16 @@ import static util.Tools.removeElement;
public class MotorisedFirefigther implements ModelElement{ public class MotorisedFirefigther implements ModelElement{
@Override @Override
public void update(Position position, Map<Position, List<ModelElement>> board, int step, int columnCount, int rowCount) { public void update(Position position, Map<Position, List<ModelElement>> board, int step, int columnCount, int rowCount) {
for (Position position1 : neighbors(position, rowCount, columnCount)) {
if (board.containsKey(position1)) {
if (board.get(position1).contains(new Fire())) {
extinguish(position,board);
return;
}
}
} if(!extinguishneighbor(position,board,columnCount,rowCount)) {
Fire fire = new Fire();
Position newPositionStep = neighborClosestTo(position,board,rowCount,columnCount,fire,List.of(new Mountain()));
Position newPositionTwoStep= neighborClosestTo(newPositionStep,board,rowCount,columnCount,fire,List.of(new Mountain()));
MotorisedFirefigther motorisedFirefigther=new MotorisedFirefigther(); MotorisedFirefigther motorisedFirefigther=new MotorisedFirefigther();
Position newPositionStep = neighborClosestTo(position,board,rowCount,columnCount);
Position newPositionTwoStep= neighborClosestTo(newPositionStep,board,rowCount,columnCount);
extinguish(newPositionTwoStep,board);
removeElement(position,board,motorisedFirefigther); removeElement(position,board,motorisedFirefigther);
addElement(newPositionTwoStep,board,motorisedFirefigther); addElement(newPositionTwoStep,board,motorisedFirefigther);
extinguishneighbor(newPositionTwoStep,board,columnCount,rowCount);
}
} }
......
...@@ -13,7 +13,6 @@ public class Road implements ModelElement{ ...@@ -13,7 +13,6 @@ public class Road implements ModelElement{
public void update(Position position, Map<Position, List<ModelElement>> board, int step, int columnCount, int rowCount) { public void update(Position position, Map<Position, List<ModelElement>> board, int step, int columnCount, int rowCount) {
} }
@Override @Override
public ViewElement getViewElement() { public ViewElement getViewElement() {
return ViewElement.Road; return ViewElement.Road;
......
...@@ -61,6 +61,7 @@ public class FirefighterBoard implements Board<List<ModelElement>> { ...@@ -61,6 +61,7 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
} }
public Map<Position, List<ModelElement>> updateToNextGeneration() { public Map<Position, List<ModelElement>> updateToNextGeneration() {
Map<Position, List<ModelElement>> copieBord=new HashMap<>(); Map<Position, List<ModelElement>> copieBord=new HashMap<>();
for (Position positionCopie:board.keySet() for (Position positionCopie:board.keySet()
) { ) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment