diff --git a/src/main/java/model/FirefighterFactory.java b/src/main/java/model/FirefighterFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..acb12afa7950578b0bcfa6c4714edce39d83d86f --- /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; + } +}