Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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);
}
}