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

changed project heirarchy

parent aecf9ee3
No related branches found
No related tags found
No related merge requests found
Pipeline #41871 failed
Showing
with 127 additions and 37 deletions
package model; package model.firefighter.elements;
import model.*;
import model.elementTokens.Printable;
import model.elementTokens.Updatable;
import model.elementTokens.ZoneDependent;
import model.firefighter.behaviors.FireBehavior;
import model.firefighter.factories.FireFactory;
import model.firefighter.ModelElement;
import util.Position; import util.Position;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Stream;
public abstract class Fire implements Element, Updatable, Printable, ZoneDependent { public abstract class Fire implements Element, Updatable, Printable, ZoneDependent {
int counter; public int counter;
int delay; public int delay;
ModelElement type; ModelElement type;
Position position; Position position;
static Behavior behavior=new FireBehavior(); static Behavior behavior=new FireBehavior();
......
package model; package model.firefighter.elements;
import model.*;
import model.elementTokens.Printable;
import model.elementTokens.Updatable;
import model.firefighter.behaviors.FireFighterBehavior;
import model.firefighter.ModelElement;
import util.Position; import util.Position;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public abstract class FireFighter implements Element, Updatable, Printable { public abstract class FireFighter implements Element, Updatable, Printable {
int speed; public int speed;
ModelElement type; ModelElement type;
Position position; Position position;
static Behavior behavior=new FireFighterBehavior(); static Behavior behavior=new FireFighterBehavior();
......
package model; package model.firefighter.elements;
import model.Element;
import model.firefighter.ModelElement;
import util.Position; import util.Position;
public class Forest extends Land implements Element { public class Forest extends Land implements Element {
......
package model; package model.firefighter.elements;
import model.Behavior;
import model.Element;
import model.elementTokens.Printable;
import model.firefighter.ModelElement;
import util.Position; import util.Position;
public abstract class Land implements Element, Printable { public abstract class Land implements Element, Printable {
......
package model; package model.firefighter.elements;
import model.elementTokens.Updatable;
import model.firefighter.ModelElement;
import util.Position; import util.Position;
public class MotorizedFireFighter extends FireFighter implements Updatable { public class MotorizedFireFighter extends FireFighter implements Updatable {
......
package model; package model.firefighter.elements;
import model.Element; import model.Element;
import model.firefighter.ModelElement;
import util.Position; import util.Position;
import java.util.List;
public class Mountain extends Land implements Element { public class Mountain extends Land implements Element {
public Mountain(Position position) { public Mountain(Position position) {
super(position); super(position);
......
package model; package model.firefighter.elements;
import model.elementTokens.Updatable;
import model.firefighter.ModelElement;
import util.Position; import util.Position;
public class QuickFire extends Fire implements Updatable { public class QuickFire extends Fire implements Updatable {
......
package model; package model.firefighter.elements;
import model.elementTokens.ConnexElement;
import model.Element;
import model.ElementFactory;
import model.firefighter.ModelElement;
import model.firefighter.factories.RoadFactory;
import util.Position; import util.Position;
public class Road extends Land implements Element, ConnexElement { public class Road extends Land implements Element, ConnexElement {
......
package model; package model.firefighter.elements;
import model.*;
import model.elementTokens.ChargeTarget;
import model.elementTokens.Printable;
import model.elementTokens.Updatable;
import model.firefighter.ModelElement;
import model.firefighter.behaviors.RockBehavior;
import util.Position; import util.Position;
import java.util.List; import java.util.List;
......
package model; package model.firefighter.elements;
import model.firefighter.ModelElement;
import util.Position; import util.Position;
public class StandardFire extends Fire{ public class StandardFire extends Fire{
......
package model; package model.firefighter.elements;
import model.firefighter.ModelElement;
import util.Position; import util.Position;
public class StandardFireFighter extends FireFighter{ public class StandardFireFighter extends FireFighter{
......
package model; package model.firefighter.factories;
import model.BoardData;
import model.Element;
import model.ElementFactory;
import model.firefighter.ModelElement;
import model.firefighter.elements.StandardFire;
import util.Position; import util.Position;
import java.util.HashMap; import java.util.HashMap;
......
package model; package model.firefighter.factories;
import model.BoardData;
import model.Element;
import model.ElementFactory;
import model.firefighter.elements.Road;
import util.Position; import util.Position;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random; import java.util.Random;
public class RoadFactory implements ElementFactory { public class RoadFactory implements ElementFactory {
...@@ -14,8 +15,8 @@ public class RoadFactory implements ElementFactory{ ...@@ -14,8 +15,8 @@ public class RoadFactory implements ElementFactory{
int[][] dir={{0,1},{0,-1},{1,0},{-1,0},{1,1},{1,-1},{-1,1},{-1,-1}}; int[][] dir={{0,1},{0,-1},{1,0},{-1,0},{1,1},{1,-1},{-1,1},{-1,-1}};
int[] currentDirection1,currentDirection2; int[] currentDirection1,currentDirection2;
do{ do{
currentDirection1 = dir[random.nextInt(8)]; currentDirection1 = dir[random.nextInt(4)];//put to 8 to enable diagonals
currentDirection2 = dir[random.nextInt(8)]; currentDirection2 = dir[random.nextInt(4)];//put to 8 to enable diagonals
}while(currentDirection1==currentDirection2); }while(currentDirection1==currentDirection2);
for (int i = position.row(),j= position.column(); for (int i = position.row(),j= position.column();
......
package model; package model.genericBehavior;
import util.Position; import model.Behavior;
import model.elementTokens.ChargeTarget;
import java.util.List; import java.util.List;
......
package model; package model.genericBehavior;
import model.Behavior;
import model.BoardData;
import util.Position; import util.Position;
import java.util.List; import java.util.List;
......
package model; package model.genericBehavior;
import model.Behavior;
import model.BoardData;
import util.Position; import util.Position;
import java.util.List; import java.util.List;
......
...@@ -2,6 +2,7 @@ package view; ...@@ -2,6 +2,7 @@ package view;
import javafx.scene.paint.Color; import javafx.scene.paint.Color;
import model.*; import model.*;
import model.firefighter.elements.*;
import util.Position; import util.Position;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
......
package model; package model;
import model.firefighter.FFBoard;
import model.firefighter.ModelElement;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import util.Position; import util.Position;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment