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
  • l22015417/firefighterstarter
  • 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
24 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; package model;
import util.Position; import util.Position;
import util.TargetStrategy;
import java.util.*; import java.util.*;
...@@ -11,8 +12,8 @@ public class FirefighterBoard implements Board<List<ModelElement>> { ...@@ -11,8 +12,8 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
private final int initialFireCount; private final int initialFireCount;
private final int initialFirefighterCount; private final int initialFirefighterCount;
private final TargetStrategy targetStrategy = new TargetStrategy(); private final TargetStrategy targetStrategy = new TargetStrategy();
private List<Position> firefighterPositions; private List<FireFighter> firefighter;
private Set<Position> firePositions; private Set<Fire> fire;
private Map<Position, List<Position>> neighbors = new HashMap(); private Map<Position, List<Position>> neighbors = new HashMap();
private final Position[][] positions; private final Position[][] positions;
private int step = 0; private int step = 0;
...@@ -40,12 +41,12 @@ public class FirefighterBoard implements Board<List<ModelElement>> { ...@@ -40,12 +41,12 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
} }
public void initializeElements() { public void initializeElements() {
firefighterPositions = new ArrayList<>(); firefighter= new ArrayList<>();
firePositions = new HashSet<>(); fire = new HashSet<>();
for (int index = 0; index < initialFireCount; index++) for (int index = 0; index < initialFireCount; index++)
firePositions.add(randomPosition()); fire.add(new Fire(randomPosition()));
for (int index = 0; index < initialFirefighterCount; index++) for (int index = 0; index < initialFirefighterCount; index++)
firefighterPositions.add(randomPosition()); firefighter.add(new FireFighter(randomPosition()));
} }
private Position randomPosition() { private Position randomPosition() {
...@@ -55,10 +56,12 @@ public class FirefighterBoard implements Board<List<ModelElement>> { ...@@ -55,10 +56,12 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
@Override @Override
public List<ModelElement> getState(Position position) { public List<ModelElement> getState(Position position) {
List<ModelElement> result = new ArrayList<>(); List<ModelElement> result = new ArrayList<>();
for (Position firefighterPosition : firefighterPositions) for (FireFighter firefighter : firefighter)
if (firefighterPosition.equals(position)) if (firefighter.getFirefighterPosition().equals(position))
result.add(ModelElement.FIREFIGHTER); result.add(ModelElement.FIREFIGHTER);
if (firePositions.contains(position))
for (Fire fire: fire)
if (fire.getFirePositions().equals(position))
result.add(ModelElement.FIRE); result.add(ModelElement.FIRE);
return result; return result;
} }
...@@ -84,10 +87,12 @@ public class FirefighterBoard implements Board<List<ModelElement>> { ...@@ -84,10 +87,12 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
List<Position> modifiedPositions = new ArrayList<>(); List<Position> modifiedPositions = new ArrayList<>();
if (step % 2 == 0) { if (step % 2 == 0) {
List<Position> newFirePositions = new ArrayList<>(); List<Position> newFirePositions = new ArrayList<>();
for (Position fire : firePositions) { for (Fire fire : fire) {
newFirePositions.addAll(neighbors.get(fire)); newFirePositions.addAll(neighbors.get(fire));
} }
firePositions.addAll(newFirePositions); for(Position position : newFirePositions) {
fire.add(new Fire(position));
}
modifiedPositions.addAll(newFirePositions); modifiedPositions.addAll(newFirePositions);
} }
return modifiedPositions; return modifiedPositions;
...@@ -102,7 +107,7 @@ public class FirefighterBoard implements Board<List<ModelElement>> { ...@@ -102,7 +107,7 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
private List<Position> updateFirefighters() { private List<Position> updateFirefighters() {
List<Position> modifiedPosition = new ArrayList<>(); List<Position> modifiedPosition = new ArrayList<>();
List<Position> firefighterNewPositions = new ArrayList<>(); List<Position> firefighterNewPositions = new ArrayList<>();
for (Position firefighterPosition : firefighterPositions) { for (FireFighter firefighterPosition : firefighter) {
Position newFirefighterPosition = Position newFirefighterPosition =
targetStrategy.neighborClosestToFire(firefighterPosition, targetStrategy.neighborClosestToFire(firefighterPosition,
firePositions, neighbors); firePositions, neighbors);
......
package model; package util;
import util.Position; import util.Position;
......