Skip to content
Snippets Groups Projects
Select Git revision
  • 3d9c7c9de9df35ab60f6e5b42d99707194d9b9b7
  • master default protected
  • MatrixModelParticle
  • CommonInterface
  • ParticleScene
  • new_particle_struct
6 results

BSplineGenerator.cpp

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    FireFactory.java 1.49 KiB
    package model;
    
    import util.Position;
    
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Random;
    
    public class FireFactory implements ElementFactory<Fire>,PositionGenerator{
        private final Random random;
        private int count;
    
        public FireFactory(Random random, int count) {
            this.random = random; // Injecte un générateur aléatoire pour une flexibilité.
            this.count=count;
        }
    
        /**
         * Crée une liste de feux avec des positions et intensités aléatoires.
         *
         * @param rowCount   Nombre de lignes du plateau.
         * @param columnCount Nombre de colonnes du plateau.
    
         * @return Une liste d'objets `Fire`.
         */
        public List<Fire> createElements(int rowCount, int columnCount) {
            List<Fire> fires = new ArrayList<>();
            for (int i = 0; i < count; i++) {
                Position randomPosition = generateRandomPosition(rowCount, columnCount);
                boolean add = fires.add(new Fire(randomPosition));
            }
            return fires;
        }
    
        /**
         * Génère une position aléatoire sur le plateau.
         *
         * @param rowCount   Nombre de lignes.
         * @param columnCount Nombre de colonnes.
         * @return Une position aléatoire.
         */
        @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;
        }
    }