Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • main
  • variant
2 results

Target

Select target project
  • m19023837/firefighter-starter-mansour-chadi-chahine-rami
  • r24025701/firefighterstarter
  • n24026202/firefighterstarter
  • couetoux.b/firefighterstarter
  • b23027938/firefighterstarter
  • z20039716/fire-fighter
  • a18023913/firefighterstarter
  • o22010261/firefighterstarter
  • b22015516/firefighterstarter
  • alaboure/firefighter-template
  • p21211679/firefighter-luis-parra-yanis-lounadi
  • v23014723/firefighter-project
  • k20014011/firefighter-template
  • m23022217/firefighter-template
  • p20006624/firefighter-template
  • l21221596/firefighter-template
  • s21232465/firefighter-template
  • y21224754/firefighter-template
  • w21225935/firefighter-template
  • h22023886/firefighter-template
  • b21221604/firefighter-template-boucenna-yacine-zeghar-mohamed-lamine
  • c23025119/firefighterstarter
  • b20031964/firefighterstarter
23 results
Select Git revision
  • main
  • variant
2 results
Show changes
Commits on Source (4)
package model;
import javafx.geometry.Pos;
import util.Position;
import java.util.Set;
public class Fire {
private Position firePositions;
public Fire(Position position){
this.firePositions = position;
}
public Position getFirePositions(){
return this.firePositions;
}
public void setFirePositions(Position firePositions){
this.firePositions = firePositions;
}
}
package model;
import util.Position;
import java.util.List;
public class FireFighter {
private Position firefighterPositions;
public FireFighter(Position firefighterPositions) {
this.firefighterPositions = firefighterPositions;
}
public void setFirefighterPosition(Position firefighterPositions) {
this.firefighterPositions = firefighterPositions;
}
public Position getFirefighterPosition() {
return firefighterPositions;
}
}
package model;
import util.Position;
import util.TargetStrategy;
import java.util.*;
......@@ -11,8 +12,8 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
private final int initialFireCount;
private final int initialFirefighterCount;
private final TargetStrategy targetStrategy = new TargetStrategy();
private List<Position> firefighterPositions;
private Set<Position> firePositions;
private List<FireFighter> firefighter;
private Set<Fire> fire;
private Map<Position, List<Position>> neighbors = new HashMap();
private final Position[][] positions;
private int step = 0;
......@@ -40,12 +41,12 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
}
public void initializeElements() {
firefighterPositions = new ArrayList<>();
firePositions = new HashSet<>();
firefighter= new ArrayList<>();
fire = new HashSet<>();
for (int index = 0; index < initialFireCount; index++)
firePositions.add(randomPosition());
fire.add(new Fire(randomPosition()));
for (int index = 0; index < initialFirefighterCount; index++)
firefighterPositions.add(randomPosition());
firefighter.add(new FireFighter(randomPosition()));
}
private Position randomPosition() {
......@@ -55,10 +56,12 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
@Override
public List<ModelElement> getState(Position position) {
List<ModelElement> result = new ArrayList<>();
for (Position firefighterPosition : firefighterPositions)
if (firefighterPosition.equals(position))
for (FireFighter firefighter : firefighter)
if (firefighter.getFirefighterPosition().equals(position))
result.add(ModelElement.FIREFIGHTER);
if (firePositions.contains(position))
for (Fire fire: fire)
if (fire.getFirePositions().equals(position))
result.add(ModelElement.FIRE);
return result;
}
......@@ -84,10 +87,12 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
List<Position> modifiedPositions = new ArrayList<>();
if (step % 2 == 0) {
List<Position> newFirePositions = new ArrayList<>();
for (Position fire : firePositions) {
for (Fire fire : fire) {
newFirePositions.addAll(neighbors.get(fire));
}
firePositions.addAll(newFirePositions);
for(Position position : newFirePositions) {
fire.add(new Fire(position));
}
modifiedPositions.addAll(newFirePositions);
}
return modifiedPositions;
......@@ -102,7 +107,7 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
private List<Position> updateFirefighters() {
List<Position> modifiedPosition = new ArrayList<>();
List<Position> firefighterNewPositions = new ArrayList<>();
for (Position firefighterPosition : firefighterPositions) {
for (FireFighter firefighterPosition : firefighter) {
Position newFirefighterPosition =
targetStrategy.neighborClosestToFire(firefighterPosition,
firePositions, neighbors);
......
package model;
package util;
import util.Position;
......