Merhaba arkadaşlar.
Javascript'te ile 1 arasında rastgele ondalıklı bir random yani rastgele bir sayı üretmek için Math nesnesine ait random() metodunu kullanıyoruz. Bir önceki yazımda math nesnesinden bahsetmiştim.
Mesela bir çekiliş uygulaması yapacağız. 0 ile 1 arasındaki ondalıklı rastgele sayı bizim işimizi görmeyebilir. bu durumda random metodu üzerinden ufak bir oynama yaparak istediğimiz sayılar arasında rastgele bir seçim yaptırabiliriz.
Math nesnesinin random() sınıfı ondalıklı sayı ürettiği için önce bunu Math.floor() methodu ile tamsayıya dönüştürmemiz gerekecektir.
0 ile 10 arasında rastgele sayı oluşturmak (10 hariç)
<script>
let deger = Math.floor(Math.random() *10); // değer sayfayı her yenilemenizde değişecektir.
</script>
0 ile 10 arasında rastgele sayı oluşturmak (10 dahil)
<script>
let deger = Math.floor(Math.random() *10 +1); // değer sayfayı her yenilemenizde değişecektir.
</script>
Yazılımda en önemli şeylerden biri modülerliktir. Belki 50 yerde rastgele sayı üretmemiz gerekecektir. Bunun için tek tek Math.random() nesnesini kullanmak size de mantıklı gelmedi değil mi ? Bir fonksiyon yazarak onu 50 kere de 500 kere de çağırsak hem projemiz modüler olur, hem de yazdığımız satırlar azalır.
Gelin bu fonksiyonu birlikte yazalım.
<script>
function rastgele_sayi(baslangic, bitis) {
return Math.floor(Math.random() * (bitis- baslangic+ 1) ) + baslangic;
}
console.log(rastgele_sayi(1,25)); // 1 ile 25 arasında bir tamsayı oluşturur
console.log(rastgele_sayi(5,52)); // 5 ile 52 arasında bir tamsayı oluşturur
console.log(rastgele_sayi(12,41)); // 12 ile 41 arasında bir tamsayı oluşturur.
</script>
Şimdi sizlerle bir uygulama yapalım. Bir hediye için çekiliş yaptınız ve 10 kişi katıldı. Siz bu 10kişi arasından rastgele seçeceğiniz 1 kişiye bu hediyeyi vermek istiyorsunuz.
Bunu basit bir şekilde şu algoritma ile yapabilirsiniz.
- 1 ile 10 arasında her kişiye bir id verilecek.
- İd'lerin karşısına kim olduğunu bilmek için isimler yazılacak.
- math.floor ve math.random fonksiyonları kullanılarak 1 ile 10 arasında bir değer seçilecek.
- İd değerlerinden kim olduğu bilgisi alınacak.
- Ekrana rastgele seçilen kişi için tebrikler kazandınız yazdırılacak.
<div id="sonuc"></div>
<script>
var kisi_isimleri =
[
"Zafer",
"Sare",
"Seda",
"Sude",
"Ayhan",
"Makbule",
"Sultan",
"Ahmet",
"Alper",
"Bahar"
];
function cekilis(){
return Math.floor(Math.random() * 10);
}
document.getElementById('sonuc').innerHTML= "Tebrikler "+kisi_isimleri[cekilis()]+". Hediyeyi kazandın";
</script>
Muhammed
16-October-2022Başarılar çok iyi