From 727f119386feb2f4422dc6d3b327ad671df52372 Mon Sep 17 00:00:00 2001 From: a23022716 <celia.arezki.1@etu.univ-amu.fr> Date: Thu, 28 Nov 2024 12:33:24 +0100 Subject: [PATCH] create FireFactory class --- src/main/java/model/FireFactory.java | 46 ++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/main/java/model/FireFactory.java diff --git a/src/main/java/model/FireFactory.java b/src/main/java/model/FireFactory.java new file mode 100644 index 0000000..4e33294 --- /dev/null +++ b/src/main/java/model/FireFactory.java @@ -0,0 +1,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); + } +} -- GitLab