Örneğin Flutter ile basit bir zar atma uygulaması yaptığımızı düşünelim.
Muhtemelen 1 ile 6 arasında rastgele sayılar veren bir algoritma yazmamız gerekecektir.
Şimdi adım adım bunu nasıl elde edebileceğimize bakalım.
Öncelikle geliştireceğimiz bu algoritmayı bir değişken(variable) içinde depolamak doğru bir tercih olacaktır.
var randomNum;
Şimdi Random() class’ının bir örneğini(instance object) yaratarak kullanmaya başlayabiliriz.
var randomNum = Random();
Not : Random Class’ını kullanabilmek için dart:math kütüphanesini import etmek gerekir.
Şimdi ise nextInt() ve nextDouble() gibi metotları kullanarak rastgele sayılar oluşturabiliriz. Biz zar uygulamamız için tam sayılar oluşturmak istediğimizden nextInt() metotunu kullanacağız.
var randomNum = Random().nextInt();
nextInt(n) metotu varsayılan olarak 0 ile n(number) aralığında sayılar yaratır (0 dahil, n ise dahil değildir).
O halde nextInt(7) dersek sorun çözülür, öyle değil mi?
Maalesef değil. Eğer nextInt(7) dersek, bu bize 0 ile 6 arasında sayılar verecektir. Ancak biz zar atma uygulamamızda 0'ın değer olarak verilebilmesini istemiyoruz. En düşük değer 1 olmalı.
Peki bu sorunu nasıl çözebiliriz?
öncelikle nextInt(7) yerine nextInt(6) diyelim.
var randomNum = Random().nextInt(6);
Şimdi zar atma uygulamamız için hedeflediğimiz, ve 1 ile 7 arasında rastgele sayılar oluşturan algoritmamızın son halini paylaşacağım. Açıklamayı ise sonrasında yapacağım.
var randomNum = Random().nextInt(6) + 1;
nextInt(6) bize 0 (dahil) ile 6 (dahil değil) arasında sayılar verirken, nextInt(6) + 1 dediğimizde 1 (dahil) ile 7 (dahil değil) arasında sayılar verecektir.
Zaten bizim istediğimiz de 0 ile 6 arasında rastgele sayılar oluşturan bir algoritma geliştirmekti.
Umarım faydalı olmuştur, şimdilik görüşmek üzere.