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

improving classes

parent 00616fce
No related branches found
No related tags found
No related merge requests found
......@@ -36,7 +36,7 @@ public interface Board<S> {
Map<Position, Extinguisher> getExtinguishers();
Map<Position, Fire> getFires();
Neighbour getNeighbor();
/**
......
package model;
import util.Neighbour;
import util.Position;
import java.util.ArrayList;
......@@ -14,10 +15,12 @@ public class Cloud extends Extinguisher {
}
public List<Position>update(Board<List<ModelElement>> firefighterBoard){
this.neighbour = new Neighbour(firefighterBoard);
List<Position> modifiedPositions = new ArrayList<>();
Position currentPosition = this.getPosition();
Position newPosition = firefighterBoard.getNeighbor().randomNeighbor(currentPosition);
Position newPosition = this.neighbour.randomNeighbor(currentPosition);
this.setPosition(newPosition);
modifiedPositions.add(currentPosition);
modifiedPositions.add(newPosition);
......
package model;
import util.Neighbour;
import util.Position;
import java.util.List;
public abstract class Extinguisher implements Element{
protected Neighbour neighbour;
protected Position position;
protected ModelElement element;
......
......@@ -5,14 +5,13 @@ import util.Position;
import util.TargetStrategy;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class FireFighter extends Extinguisher {
private Neighbour neighbour;
private final TargetStrategy targetStrategy = new TargetStrategy();
......
package model;
import util.Neighbour;
import util.Position;
import java.util.*;
......@@ -12,16 +11,17 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
private Map<Position, Fire> fires = new HashMap<>();
private Map<Position, Extinguisher> extinguishers = new HashMap<>();
private Map<Position, Obstacle> obstacles = new HashMap<>();
private final Neighbour neighbour;
private final Position[][] positions;
private int step = 0;
private final Random randomGenerator = new Random();
public FirefighterBoard(int columnCount, int rowCount) {
this.columnCount = columnCount;
this.rowCount = rowCount;
this.positions = new Position[rowCount][columnCount];
this.neighbour = new Neighbour(this);
initializePositions();
initializeElements();
}
......@@ -85,8 +85,6 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
return columnCount;
}
public List<Position> updateToNextGeneration() {
Fire fire = new Fire(randomPosition());
......@@ -101,11 +99,6 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
return modifiedPositions;
}
public Neighbour getNeighbor() {
return neighbour;
}
@Override
public int stepNumber() {
return step;
......@@ -131,7 +124,6 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
initializeElements();
}
@Override
public void setState(List<ModelElement> state, Position position) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment