From 9f1d562b66d56188b4fc56426292bb350a56749c Mon Sep 17 00:00:00 2001 From: Sarah CHERCHEM <ls_cherchem@esi.dz> Date: Thu, 28 Nov 2024 20:46:55 +0100 Subject: [PATCH] MotorizedFactory : implements the methode createElements --- src/main/java/model/MotorizedFactory.java | 36 ++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/src/main/java/model/MotorizedFactory.java b/src/main/java/model/MotorizedFactory.java index ba9049c..326a5c1 100644 --- a/src/main/java/model/MotorizedFactory.java +++ b/src/main/java/model/MotorizedFactory.java @@ -1,4 +1,38 @@ package model; -public class MotorizedFactory { +import util.Position; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +public class MotorizedFactory implements ElementFactory<MotorizedFireFighter>, PositionGenerator{ + private final Random random; + private int count; + + public MotorizedFactory(Random random, int count) { + this.random = random; + this.count = count; + } + + @Override + public List<MotorizedFireFighter> createElements(int rowCount, int columnCount) { + List<MotorizedFireFighter> firefighters = new ArrayList<>(); + for (int i = 0; i < count; i++) { + Position randomPosition = generateRandomPosition(rowCount, columnCount); + firefighters.add(new MotorizedFireFighter(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