Skip to content
Snippets Groups Projects
Commit 811817b7 authored by BACHTARZI Imed eddine's avatar BACHTARZI Imed eddine
Browse files

(What i did in class didn't get pushed properly)

parent 8e0f6d1f
Branches
No related tags found
No related merge requests found
Pipeline #39237 passed
Showing
with 86 additions and 92 deletions
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<testsuite name="view.FirefighterGridTest" tests="2" skipped="0" failures="0" errors="0" timestamp="2024-11-08T10:31:37" hostname="V-PJ-47-124" time="0.229"> <testsuite name="view.FirefighterGridTest" tests="2" skipped="0" failures="0" errors="0" timestamp="2024-11-15T00:38:58" hostname="DESKTOP-ETSE1TF" time="1.764">
<properties/> <properties/>
<testcase name="testColumnCount()" classname="view.FirefighterGridTest" time="0.227"/> <testcase name="testColumnCount()" classname="view.FirefighterGridTest" time="1.761"/>
<testcase name="testRowCount()" classname="view.FirefighterGridTest" time="0.001"/> <testcase name="testRowCount()" classname="view.FirefighterGridTest" time="0.002"/>
<system-out><![CDATA[]]></system-out> <system-out><![CDATA[]]></system-out>
<system-err><![CDATA[]]></system-err> <system-err><![CDATA[]]></system-err>
</testsuite> </testsuite>
No preview for this file type
File added
File added
File added
File added
No preview for this file type
No preview for this file type
Manifest-Version: 1.0 Manifest-Version: 1.0
Main-Class: app.SimulatorMain
package model;
public interface Behavior {
public void move();
}
package model;
public class CloudManager {
}
package model;
import util.Position;
import java.util.ArrayList;
import java.util.List;
public abstract class Element {
ModelElement type;
Behavior behavior;
List<ModelElement> obstacles;
public Element(ModelElement type, Behavior behavior, ArrayList<ModelElement> obstacles) {
this.type = type;
this.behavior = behavior;
this.obstacles = obstacles;
}
public abstract List<Position> Update(List<Position>[] board,List<Position> modifiedList);
}
package model;
import util.Position;
import java.util.ArrayList;
import java.util.List;
public class Fire extends Element{
public Fire() {
super(ModelElement.FIRE,
new FireBehavior(),
new ArrayList<ModelElement>());
}
@Override
public List<Position> Update(List<Position>[] board, List<Position> modifiedList) {
return List.of();
}
}
package model;
public class FireBehavior implements Behavior {
@Override
public void move() {
}
}
package model;
import util.Position;
import java.util.Set;
public class FireManager extends Manager{
private Set<Position> firePositions;
public FireManager(FirefighterBoard board) {
super(board,ModelElement.FIRE, new ModelElement[]{ModelElement.ROAD, ModelElement.MOUNTAIN});
}
@Override
public void update() {
;
}
private void extinguish(Position position) {
firePositions.remove(position);
}
}
package model;
import util.Position;
import java.util.ArrayList;
import java.util.List;
public class Firefighter extends Element{
public Firefighter() {
super(ModelElement.FIREFIGHTER,
new FirefighterBehavior(),
new ArrayList<ModelElement>());
}
@Override
public List<Position> Update(List<Position>[] board, List<Position> modifiedList) {
return List.of();
}
}
package model;
public class FirefighterBehavior implements Behavior {
@Override
public void move() {
}
}
package model;
import util.Position;
import java.util.ArrayList;
import java.util.List;
public abstract class FirefighterManager extends Manager {
private List<Position> firefighterPositions;
private int speed;
model.TargetStrategy targetStrategy;
public FirefighterManager(FirefighterBoard board,ModelElement managed,ModelElement[] obstacle,int speed) {
super(board,managed,obstacle);
this.speed=speed;
}
@Override
public void update() {
for(int i=0;i<speed;i++) {
partialUpdate(firefighterPositions);
}
}
public List<Position> partialUpdate(List<Position> positions) {
List<Position> modifiedPosition = new ArrayList<>();
List<Position> firefighterNewPositions = new ArrayList<>();
for (Position firefighterPosition : firefighterPositions) {
Position newFirefighterPosition =
targetStrategy.neighborClosestToFire(firefighterPosition,
firePositions, neighbors);
firefighterNewPositions.add(newFirefighterPosition);
extinguish(newFirefighterPosition);
modifiedPosition.add(firefighterPosition);
modifiedPosition.add(newFirefighterPosition);
List<Position> neighborFirePositions = neighbors.get(newFirefighterPosition).stream()
.filter(firePositions::contains).toList();
for (Position firePosition : neighborFirePositions)
extinguish(firePosition);
modifiedPosition.addAll(neighborFirePositions);
}
firefighterPositions = firefighterNewPositions;
return modifiedPosition;
}
}
package model;
public class FirefighterUpdater implements Updater {
}
package model;
import util.Position;
import java.util.ArrayList;
public abstract class Manager {
private ModelElement managed;
private ModelElement[] Obstacles;
private FirefighterBoard board;
public Manager(FirefighterBoard board,ModelElement managed,ModelElement[] obstacle) {
this.board = board;
this.managed = managed;
this.Obstacles = obstacle;
}
public void initialize(){
}
public abstract void update();
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment