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

ViewElement.class

Blame
  • Forked from COUETOUX Basile / FirefighterStarter
    Source project has a limited visibility.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    RockyFactory.java 1.07 KiB
    package model.flammable;
    
    import model.ElementFactory;
    import model.PositionGenerator;
    import util.Position;
    
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Random;
    
    public class RockyFactory implements ElementFactory<Rocky>, PositionGenerator {
        private final Random random;
        private int count;
    
    
        public RockyFactory(Random random, int count) {
            this.random = random;
            this.count = count;
        }
    
        @Override
        public List<Rocky> createElements(int rowCount, int columnCount) {
            List<Rocky> rocky = new ArrayList<>();
            for (int i = 0; i < count; i++) {
                Position randomPosition = generateRandomPosition(rowCount, columnCount);
                rocky.add(new Rocky(randomPosition));
            }
            return rocky;
        }
    
        @Override
        public int getCount() {
            return count;
        }
    
        @Override
        public Position generateRandomPosition(int rowCount, int columnCount) {
            int row = random.nextInt(rowCount);
            int column = random.nextInt(columnCount);
            return new Position(row, column);
        }
    }