Select Git revision
FireFactory.java
Forked from
COUETOUX Basile / FirefighterStarter
63 commits ahead of the upstream repository.
AREZKI Celia authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
FireFactory.java 1.38 KiB
package model;
import util.Position;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class FireFactory {
private final Random random;
public FireFactory(Random random) {
this.random = random; // Injecte un générateur aléatoire pour une flexibilité.
}
/**
* 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 columnCount Nombre de colonnes du plateau.
* @return Une liste d'objets `Fire`.
*/
public List<Fire> createFires(int count, int rowCount, int columnCount) {
List<Fire> fires = new ArrayList<>();
for (int i = 0; i < count; i++) {
Position randomPosition = generateRandomPosition(rowCount, columnCount);
boolean add = fires.add(new Fire(randomPosition));
}
return fires;
}
/**
* Génère une position aléatoire sur le plateau.
*
* @param rowCount Nombre de lignes.
* @param columnCount Nombre de colonnes.
* @return Une position aléatoire.
*/
private Position generateRandomPosition(int rowCount, int columnCount) {
int row = random.nextInt(rowCount);
int column = random.nextInt(columnCount);
return new Position(row, column);
}
}