• 08-01-2023, 22:36:57
    #1
    Arkadaşlar merhabalar. Flutter da şu işlemi nasıl yapabilirim? Bunun için fonksiyon veya paketler var mı?

    1-5 arasındaki numaraların çıkma olasılığı %80
    5-10 arasındaki numaraların çıkma olasılığı %10
    10-15 arasındaki numaraların çıkma olasılığı %10
  • 08-01-2023, 22:57:09
    #2
    Hocam bu isin flutter ile bir alakasi yok, tamamen matematiksel. Bir dizi olusturulur, diziye 8 tane 5, 1 tane 10, 1 tane 15 ekleyin. Sonra bu diziden random bir sayi secin. % 80 ihtimalle 5 cikabilir. Cikan sayi x olsun. x ve x-4 arasinda tekrar bir random sececeksiniz. 5 ciktigini varsayarsak 5 ve 1 arasinda secim yapacaksiniz yani.
  • 09-01-2023, 00:22:01
    #3
    Bu kod, 0.8 olasılıkla 1-5 aralığında, 0.1 olasılıkla 5-10 aralığında ve 0.1 olasılıkla 10-15 aralığında bir sayı üretecektir.

    class RandomNumberGenerator {
      final List<double> probabilities;
      final List<int> ranges;
      final Random random;
    
      RandomNumberGenerator({this.probabilities, this.ranges, this.random});
    
      int generate() {
        double randomValue = random.nextDouble();
        double sum = 0.0;
    
        for (int i = 0; i < probabilities.length; i++) {
          sum += probabilities[i];
          if (randomValue <= sum) {
            return _randomNumberInRange(ranges[i], ranges[i + 1]);
          }
        }
      }
    
      int _randomNumberInRange(int min, int max) {
        return random.nextInt(max - min) + min;
      }
    }
    final randomNumberGenerator = RandomNumberGenerator(
      probabilities: [0.8, 0.1, 0.1],
      ranges: [1, 5, 10, 15],
      random: Random(),
    );
    int randomNumber = randomNumberGenerator.generate();
  • 09-01-2023, 12:40:45
    #4
    Taiizor adlı üyeden alıntı: mesajı görüntüle
    Bu kod, 0.8 olasılıkla 1-5 aralığında, 0.1 olasılıkla 5-10 aralığında ve 0.1 olasılıkla 10-15 aralığında bir sayı üretecektir.

    class RandomNumberGenerator {
      final List<double> probabilities;
      final List<int> ranges;
      final Random random;
    
      RandomNumberGenerator({this.probabilities, this.ranges, this.random});
    
      int generate() {
        double randomValue = random.nextDouble();
        double sum = 0.0;
    
        for (int i = 0; i < probabilities.length; i++) {
          sum += probabilities[i];
          if (randomValue <= sum) {
            return _randomNumberInRange(ranges[i], ranges[i + 1]);
          }
        }
      }
    
      int _randomNumberInRange(int min, int max) {
        return random.nextInt(max - min) + min;
      }
    }
    final randomNumberGenerator = RandomNumberGenerator(
      probabilities: [0.8, 0.1, 0.1],
      ranges: [1, 5, 10, 15],
      random: Random(),
    );
    int randomNumber = randomNumberGenerator.generate();
    Teşekkür ederim hocam sağ olun