diff --git a/src/main/java/model/Cloud.java b/src/main/java/model/Cloud.java index cf7482a639ac602e27af2b384cd41793e9903a31..b68e95e2ecb7759fc536f32df35f41eedcfa49fe 100644 --- a/src/main/java/model/Cloud.java +++ b/src/main/java/model/Cloud.java @@ -86,5 +86,10 @@ public class Cloud extends Element implements Extinguish { public List<Position> setPosition() { return null; } + + @Override + public void action() { + + } } diff --git a/src/main/java/model/Element.java b/src/main/java/model/Element.java index 30e5ac9dd6322a0c04d09b4702d973886392b926..c223d193ddc763c8a9a94cbca6dca416c28fd74d 100644 --- a/src/main/java/model/Element.java +++ b/src/main/java/model/Element.java @@ -6,35 +6,22 @@ import java.util.List; import java.util.Random; public abstract class Element { - protected Position position; // Attribute to represent the current position - protected Grid grid; // Attribute to represent the reference to the grid - - // Constructor - public Element(Position position, Grid grid) { - this.position = position; - this.grid = grid; - } - - // Abstract method for updating the state of the element - public abstract void update(); - - // Getters and Setters for Position - public Position getPosition() { - return position; - } - - public void setPosition(Position position) { - this.position = position; - } - - // Getters and Setters for Grid Reference - public Grid getGrid() { - return grid; - } - - public void setGrid(Grid grid) { - this.grid = grid; - } + protected Position position; + public void initializeElements() {} + private Position randomPosition() {} + public List<ModelElement> getState(Position position) {} + public List<Position> updateToNextGeneration() {} + private List<Position> updateFires() {} + private List<Position> neighbors(Position position) {} + private Position neighborClosestToFire(Position position) {} + public void setState(List<ModelElement> state, Position position) {} + /*List<Position> updatePosition(); + List<Position> neighbors(); + List<Position> getPosition(); + List<Position> setPosition();*/ + + + } diff --git a/src/main/java/model/Extinguish.java b/src/main/java/model/Extinguish.java index 8ff140296b8554a200add45aa18f3f04e0cf251f..24a6c0be21f40784490303d9e59f17e2c1809225 100644 --- a/src/main/java/model/Extinguish.java +++ b/src/main/java/model/Extinguish.java @@ -5,9 +5,7 @@ import util.Position; import java.util.List; public interface Extinguish { - List<Position> updatePosition(); - List<Position> neighbors(); - List<Position> getPosition(); - List<Position> setPosition(); + + void action(); } diff --git a/src/main/java/model/FireFighter.java b/src/main/java/model/FireFighter.java index 7d3c7c1dbd4f8cec4def8a7f34eca73e908880ab..389e4a8ee7319139752a9690caa2d1ddbb5e290b 100644 --- a/src/main/java/model/FireFighter.java +++ b/src/main/java/model/FireFighter.java @@ -54,5 +54,10 @@ public class Firefighter extends Element implements Extinguish { private boolean isValidPosition(int x, int y) { return x >= 0 && x < getGrid().getRows() && y >= 0 && y < getGrid().getColumns(); } + + @Override + public void action() { + + } } diff --git a/src/main/java/model/FirefighterBoard.java b/src/main/java/model/FirefighterBoard.java index b5f0563236d6393f0fe972aa97c1c6d8762f1c82..ee29f18e646c61610d400afa8d6fe98b567f0795 100644 --- a/src/main/java/model/FirefighterBoard.java +++ b/src/main/java/model/FirefighterBoard.java @@ -57,7 +57,7 @@ public class FirefighterBoard implements Board<List<ModelElement>> { return columnCount; } - public List<Position> updateToNextGeneration() {// chua hieu lam gi + public List<Position> updateToNextGeneration() {// chua hieu lam gi// sua cai nay List<Position> result = updateFirefighters(); result.addAll(updateFires()); step++; diff --git a/src/main/java/model/Grid.java b/src/main/java/model/Grid.java deleted file mode 100644 index d40aad3993d494e6b7061e4624f14b166735097a..0000000000000000000000000000000000000000 --- a/src/main/java/model/Grid.java +++ /dev/null @@ -1,55 +0,0 @@ -package model; - -import util.Position; - -import java.util.Random; - -import java.util.ArrayList; -import java.util.List; - -public class Grid { - private int rows; - private int columns; - private Element[][] elements; - - // Constructor - public Grid(int rows, int columns) { - this.rows = rows; - this.columns = columns; - this.elements = new Element[rows][columns]; - } - - // Method to add an element to the grid at a specific position - public void addElement(Element element, Position position) { - elements[position.getX()][position.getY()] = element; - element.setGrid(this); - element.setPosition(position); - } - - // Method to get the element at a specific position on the grid - public Element getElementAt(Position position) { - return elements[position.getX()][position.getY()]; - } - - // Method to update all elements in the grid - public void update() { - for (int i = 0; i < rows; i++) { - for (int j = 0; j < columns; j++) { - Element element = elements[i][j]; - if (element != null) { - element.update(); - } - } - } - } - - // Getters for grid size - public int getRows() { - return rows; - } - - public int getColumns() { - return columns; - } -} - diff --git a/src/main/java/model/Mobile.java b/src/main/java/model/Mobile.java index 8c5b5210b87c98e193a41aebea963a94412ff3e9..4e44ed4ae14522c9186e03e42ff728b39c166926 100644 --- a/src/main/java/model/Mobile.java +++ b/src/main/java/model/Mobile.java @@ -43,5 +43,10 @@ public class Mobile extends Element implements Extinguish { private boolean isValidPosition(int x, int y) { return x >= 0 && x < getGrid().getRows() && y >= 0 && y < getGrid().getColumns(); } + + @Override + public void action() { + + } } diff --git a/src/main/java/model/Moutain.java b/src/main/java/model/Moutain.java index 9d91a3072a924b5cfd8932888118f2764cde129f..251a80acfc9b3ec74d51212df7c76c8ca0f51b80 100644 --- a/src/main/java/model/Moutain.java +++ b/src/main/java/model/Moutain.java @@ -4,7 +4,7 @@ import util.Position; import java.util.List; -public class Mountain extends Element implements Stable { +public class Mountain extends Element implements StablePosition { // Additional attributes for Mountain private boolean impassable;