Skip to content
Snippets Groups Projects
Select Git revision
  • 95a208a282122f3d60238ca2b5a4b10b2410d1da
  • master default protected
  • performance_fix
  • fix-performance
  • feat-add_docker
5 results

MainPage,module.scss

  • DefaultPredationConfigurer.java 1.49 KiB
    package fr.takima.lotka_volterra.predation;
    
    import fr.takima.lotka_volterra.common.Probability;
    import fr.takima.lotka_volterra.common.Distance;
    import fr.takima.lotka_volterra.predator.Satiety;
    import org.springframework.stereotype.Component;
    
    import java.math.BigDecimal;
    import java.util.Random;
    
    @Component
    public class DefaultPredationConfigurer implements PredationConfigurer {
    
        private final Random random;
        private final Distance maxDistance;
        private final Probability successProbability;
        private final Satiety successSatietyGain;
        private final Satiety failureSatietyLoss;
    
        public DefaultPredationConfigurer(Random random, PredationProperties properties) {
            this.random = random;
            this.maxDistance = new Distance(properties.getMaxDistance());
            this.successProbability = new Probability(BigDecimal.valueOf(properties.getSuccessProbability()));
            this.successSatietyGain = new Satiety(properties.getSuccessSatietyGain());
            this.failureSatietyLoss = new Satiety(properties.getFailureSatietyLoss());
        }
    
        @Override
        public Random random() {
            return random;
        }
    
        @Override
        public Distance maxDistance() {
            return maxDistance;
        }
    
        @Override
        public Probability successProbability() {
            return successProbability;
        }
    
        @Override
        public Satiety successSatietyGain() {
            return successSatietyGain;
        }
    
        @Override
        public Satiety failureSatietyLoss() {
            return failureSatietyLoss;
        }
    
    }