Skip to content
Snippets Groups Projects
Commit 75b3606a authored by CHERCHEM Sarah's avatar CHERCHEM Sarah
Browse files

Correction of the FireFactory class

parent ef86a13e
Branches
No related tags found
No related merge requests found
No preview for this file type
No preview for this file type
...@@ -2,23 +2,19 @@ package model; ...@@ -2,23 +2,19 @@ package model;
import util.Position; import util.Position;
public class Fire { public class Fire extends BoardElement{
private final Position position; // Position du feu sur le plateau.
public Fire(Position position) { public Fire(Position position) {
this.position = position; super(position);
} }
// Récupère la position du feu. @Override
public Position getPosition() { public String getType() {
return position; return "FIRE";
} }
@Override @Override
public String toString() { public String toString() {
return "Fire{" + return "Fire{" +
......
...@@ -6,23 +6,24 @@ import java.util.ArrayList; ...@@ -6,23 +6,24 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Random; import java.util.Random;
public class FireFactory { public class FireFactory implements ElementFactory<Fire>,PositionGenerator{
private final Random random; private final Random random;
private int count;
public FireFactory(Random random) { public FireFactory(Random random, int count) {
this.random = random; // Injecte un générateur aléatoire pour une flexibilité. this.random = random; // Injecte un générateur aléatoire pour une flexibilité.
this.count=count;
} }
/** /**
* Crée une liste de feux avec des positions et intensités aléatoires. * Crée une liste de feux avec des positions et intensités aléatoires.
* *
* @param count Le nombre de feux à générer.
* @param rowCount Nombre de lignes du plateau. * @param rowCount Nombre de lignes du plateau.
* @param columnCount Nombre de colonnes du plateau. * @param columnCount Nombre de colonnes du plateau.
* @return Une liste d'objets `Fire`. * @return Une liste d'objets `Fire`.
*/ */
public List<Fire> createFires(int count, int rowCount, int columnCount) { public List<Fire> createElements(int rowCount, int columnCount) {
List<Fire> fires = new ArrayList<>(); List<Fire> fires = new ArrayList<>();
for (int i = 0; i < count; i++) { for (int i = 0; i < count; i++) {
Position randomPosition = generateRandomPosition(rowCount, columnCount); Position randomPosition = generateRandomPosition(rowCount, columnCount);
...@@ -38,9 +39,14 @@ public class FireFactory { ...@@ -38,9 +39,14 @@ public class FireFactory {
* @param columnCount Nombre de colonnes. * @param columnCount Nombre de colonnes.
* @return Une position aléatoire. * @return Une position aléatoire.
*/ */
private Position generateRandomPosition(int rowCount, int columnCount) { @Override
public Position generateRandomPosition(int rowCount, int columnCount) {
int row = random.nextInt(rowCount); int row = random.nextInt(rowCount);
int column = random.nextInt(columnCount); int column = random.nextInt(columnCount);
return new Position(row, column); return new Position(row, column);
} }
public int getCount() {
return count;
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment