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