Skip to content
Snippets Groups Projects
Select Git revision
  • ec4e7bbb7db5296f20a8a96a87805fc3832a32ba
  • main default protected
  • variant
3 results

MotorizedFactory.java

Blame
  • Forked from COUETOUX Basile / FirefighterStarter
    117 commits ahead of the upstream repository.
    user avatar
    Sarah CHERCHEM authored
    9f1d562b
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    MotorizedFactory.java 1.07 KiB
    package model;
    
    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;
        }
    }