Skip to content
Snippets Groups Projects
Commit cf27b66a authored by MAAZOUZ Ilyas's avatar MAAZOUZ Ilyas
Browse files

xcvxdfsdf

parent 72726818
No related branches found
No related tags found
No related merge requests found
Pipeline #24255 failed
package newmodel; package newmodel;
import newmodel.Fboard; import newmodel.Fboard;
import util.Position; import util.Position;
import java.util.List; import java.util.List;
public abstract class Extinguisher implements item {
public interface Extinguisher { public abstract List<Position> update();
public List<Position> updateExtinguisher(); public abstract void extinguish(Position position);
public void extinguish(Position position); public abstract void setState();
public void setState(); public abstract String getState();
public String getState();
public void initialize(); public abstract void initialize();
public List<Position> getPositions(); public abstract List<Position> getPositions();
}
} }
...@@ -10,15 +10,13 @@ public class Fboard { ...@@ -10,15 +10,13 @@ public class Fboard {
protected final int columnCount; protected final int columnCount;
protected final int rowCount; protected final int rowCount;
private int step = 0; private int step = 0;
private FireManager fire;
private List<Extinguisher> extinguishers;
public Fboard(int columnCount, int rowCount, Fire fire ,List<Extinguisher> Extinguishers) { private List<item> items;
public Fboard(int columnCount, int rowCount, Fire fire ,List<item> items) {
this.columnCount = columnCount; this.columnCount = columnCount;
this.rowCount = rowCount; this.rowCount = rowCount;
this.extinguishers=new ArrayList<>(); this.items=items;
this.fire=fire;
extinguishers.addAll(Extinguishers);
} }
public int rowCount() { public int rowCount() {
...@@ -31,10 +29,8 @@ public class Fboard { ...@@ -31,10 +29,8 @@ public class Fboard {
public List<Position> updateToNextGeneration() { public List<Position> updateToNextGeneration() {
List<Position> result = new ArrayList<>(); List<Position> result = new ArrayList<>();
result.addAll(fire.updateFire()); for(item item : items)
for(Extinguisher e : extinguishers) { result.addAll(item.update());
result.addAll(e.updateExtinguisher());
}
step++; step++;
return result; return result;
} }
...@@ -48,7 +44,7 @@ public class Fboard { ...@@ -48,7 +44,7 @@ public class Fboard {
} }
public void initializeElements() { public void initializeElements() {
fire.initialize(); fire.initialize();
for(Extinguisher e: extinguishers) { for(item e: extinguishers) {
e.initialize(); e.initialize();
} }
} }
......
...@@ -4,7 +4,7 @@ import util.Position; ...@@ -4,7 +4,7 @@ import util.Position;
import java.util.*; import java.util.*;
public class Fire implements FireManager { public class Fire extends FireManager {
private final int initialFireCount; private final int initialFireCount;
...@@ -19,7 +19,7 @@ public class Fire implements FireManager { ...@@ -19,7 +19,7 @@ public class Fire implements FireManager {
} }
public List<Position> updateFire() { public List<Position> update() {
List<Position> result = new ArrayList<>(); List<Position> result = new ArrayList<>();
if (board.getStep() % 2 == 0) { if (board.getStep() % 2 == 0) {
List<Position> newFirePositions = new ArrayList<>(); List<Position> newFirePositions = new ArrayList<>();
...@@ -37,12 +37,11 @@ public class Fire implements FireManager { ...@@ -37,12 +37,11 @@ public class Fire implements FireManager {
state="Fire"; state="Fire";
} }
@Override
public String getState() { public String getState() {
return state; return state;
} }
@Override
public void initialize() { public void initialize() {
firePositions = new HashSet<>(); firePositions = new HashSet<>();
for (int index = 0; index < initialFireCount; index++) for (int index = 0; index < initialFireCount; index++)
......
...@@ -17,7 +17,7 @@ public class FireFighter implements Extinguisher { ...@@ -17,7 +17,7 @@ public class FireFighter implements Extinguisher {
} }
public List<Position> updateExtinguisher() { public List<Position> update() {
List<Position> result = new ArrayList<>(); List<Position> result = new ArrayList<>();
List<Position> firefighterNewPositions = new ArrayList<>(); List<Position> firefighterNewPositions = new ArrayList<>();
for (Position firefighterPosition : firefighterPositions) { for (Position firefighterPosition : firefighterPositions) {
......
package newmodel; package newmodel;
import newmodel.Fboard;
import util.Position; import util.Position;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
public interface FireManager { public abstract class FireManager implements item{
public List<Position> updateFire(); public abstract List<Position> update();
public void setState(); public abstract void extinguish(Position position);
public String getState(); public abstract Set<Position> getFirepositions();
public void extinguish(Position position); public abstract boolean containsFire(Position position);
public void initialize(); public abstract void setState();
public abstract String getState();
public Set<Position> getFirepositions();
public boolean containsFire(Position position);
} }
package newmodel; package newmodel;
public class MotoFireFighter { import util.Position;
import java.util.List;
public class MotoFireFighter extends Extinguisher {
@Override
public List<Position> update() {
return null;
}
@Override
public void extinguish(Position position) {
}
@Override
public void setState() {
}
@Override
public String getState() {
return null;
}
@Override
public void initialize() {
}
@Override
public List<Position> getPositions() {
return null;
}
} }
...@@ -6,7 +6,7 @@ import java.util.ArrayList; ...@@ -6,7 +6,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Random; import java.util.Random;
public class Nuages implements Extinguisher{ public class Nuages extends Extinguisher{
private String state; private String state;
private final Fboard board; private final Fboard board;
private List<Position> nuagesPositions; private List<Position> nuagesPositions;
...@@ -19,8 +19,20 @@ public class Nuages implements Extinguisher{ ...@@ -19,8 +19,20 @@ public class Nuages implements Extinguisher{
this.board=b; this.board=b;
} }
public List<Position> updateExtinguisher() { public List<Position> update() {
List<Position> result = new ArrayList<>();
List<Position> NuagesNewPositions = new ArrayList<>();
for (Position NuageNewPosition: nuagesPositions) {
NuagesNewPositions.add(randomPosition());
}
for(Position nuage : NuagesNewPositions) {
extinguish(nuage);
}
result.addAll(nuagesPositions);
result.addAll(NuagesNewPositions);
nuagesPositions = NuagesNewPositions;
return result;
} }
...@@ -48,7 +60,7 @@ public class Nuages implements Extinguisher{ ...@@ -48,7 +60,7 @@ public class Nuages implements Extinguisher{
public List<Position> getPositions() { public List<Position> getPositions() {
return null; return this.nuagesPositions;
} }
private Position randomPosition() { private Position randomPosition() {
return new Position(randomGenerator.nextInt(board.rowCount), randomGenerator.nextInt(board.columnCount)); return new Position(randomGenerator.nextInt(board.rowCount), randomGenerator.nextInt(board.columnCount));
......
package newmodel;
import util.Position;
import java.util.List;
import java.util.Random;
public class Pompiers extends Extinguisher{
private String state;
private final Fboard board;
private List<Position> Pompiers;
private final Random randomGenerator = new Random();
private final int initialPompiersCount;
public Pompiers(int count,Fboard b){
this.board=b;
this.initialPompiersCount=count;
}
public List<Position> updateExtinguisher() {
return null;
}
public void extinguish(Position position) {
}
public void setState() {
this.state="Pompiers";
}
public String getState() {
return state;
}
public void initialize() {
}
public List<Position> getPositions() {
return Pompiers;
}
}
package newmodel;
import util.Position;
import java.util.List;
public interface item {
public List<Position> update();
void setState();
String getState();
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment