From ef86a13efabd3b619cca435821a4072bc84d2382 Mon Sep 17 00:00:00 2001
From: AREZKI Celia <celia.arezki.1@etu.univ-amu.fr>
Date: Thu, 28 Nov 2024 15:07:59 +0100
Subject: [PATCH] correction of FireFactory class

---
 src/main/java/model/FirefighterFactory.java | 38 +++++++++++++++++++++
 1 file changed, 38 insertions(+)
 create mode 100644 src/main/java/model/FirefighterFactory.java

diff --git a/src/main/java/model/FirefighterFactory.java b/src/main/java/model/FirefighterFactory.java
new file mode 100644
index 0000000..acb12af
--- /dev/null
+++ b/src/main/java/model/FirefighterFactory.java
@@ -0,0 +1,38 @@
+package model;
+
+import util.Position;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
+public class FirefighterFactory implements ElementFactory<FireFighter>, PositionGenerator{
+    private final Random random;
+    private int count;
+
+    public FirefighterFactory(Random random,int count) {
+        this.random = random;
+        this.count=count;
+    }
+
+    @Override
+    public List<FireFighter> createElements(int rowCount, int columnCount) {
+        List<FireFighter> firefighters = new ArrayList<>();
+        for (int i = 0; i < count; i++) {
+            Position randomPosition = generateRandomPosition(rowCount, columnCount);
+            firefighters.add(new FireFighter(randomPosition));
+        }
+        return firefighters;
+    }
+
+    @Override
+    public Position generateRandomPosition(int rowCount, int columnCount) {
+        int row = random.nextInt(rowCount);
+        int column = random.nextInt(columnCount);
+        return new Position(row, column);
+    }
+
+    public int getCount() {
+        return count;
+    }
+}
-- 
GitLab