diff --git a/src/main/java/model/MotorizedFactory.java b/src/main/java/model/MotorizedFactory.java index ba9049c0f531b4e9bf04b2ab830778c5d98f2452..326a5c193f53c436d5497b22fa23048cfadac3d1 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; + } }