JavaScript Temelleri – Math.random(); ile Rastgele Sayı Üretmek
Zar… Evet zar. özellikle tavla zarı… ne diyor bu diyenler için geliyor ; rastgele sayı kavramına hoş geldiniz. elinizde bir zar var ve de atıyorsunuz her seferinde tamamen rastgele bir sayı geliyor. Bunu herhangi bir yerde kullanabilir miyiz ? Javascript’te math object ile rastgele sayı üretmek ne işimize yarar ki bizim diyenlere geliyor ; örneğin bir oyun tasarlıyorsunuz ve karşıdan ekranın tamamen rastgele bölümlerinde hedefler oluşsun istiyorsunuz, ya da ne bileyim, yılan oyunundaki yem misali bir şey istiyorsunuz. ya da rastgele fotoğraflar sergilemek istiyorsunuz. işte bunların hepsi math object ile yapılır efendiler. !!! 111
Peki ama nasıl ? çok basit Math.random(); ifadesini kullanmanız yeterli olacaktır.
Math.random(); objesi size 0 ile 1 arasında bir sayı üretir. bu sayı hiç bir zaman 1 olamaz ama 0 olabilir. örneğin 0.1 olabilir 0.99999 olabilir ama 1 asla olamaz.
var rastgeleSayi = Math.random();
alert('Sayınız : ' + rastgeleSayi);
şeklinde kullanabiliriz. Peki ama biz rastgele sayı ürettik tamam çok güzel ama bu tam sayı değil ki ? diyenlerinizi duyar gibiyiz. İşte bunun için ise bir takım “yuvarlama” fonksiyonlarımız mevcut. Hani 4.5′ tan 5 aldım derdik ya heh işte o yuvarlamalar misali.
JavaScript Ondalıklı Sayıyı Yuvarlama Metodları
JavaScript’te ondalıklı bir sayıyı yuvarlamak için bilmeniz gereken floor ve ceil adlı iki metod vardır. Bunlar ne işe yararlar diyenler için şöyle diyelim floor ingilizcede zemin kat anlamlarına gelir dolayısı ile;
Math.floor(); fonksiyonu yazılan sayıyı en yakın tam sayıya küçültür. örneğin 0.251 sayısını 0 yapar; 1.523 sayısını 1 yapar.
Math.ceil(); fonksiyonu ise Math.floor(); fonksiyonunun tam tersini yani en yakın tam sayıya büyüldür. yani 1.24 ü 2 yapar. 9.90 ı 10 yapar gibi örneklendirebiliriz.
eğer ki tam sayı girilmişse yuvarlama işlemi yapılmaz örneğin Math.floor(5); bize 5 sonucunu verir aynı şekilde Math.ceil(5); de 5 sonucunu verir.
Şimdi gelelim konumuzun devamına. Eğer ki Math.random(); komutunu kullanmak istiyorsak ondalıklı sayıyı yuvarlamamız gerekecektir bir yerde. hatırlamanız gereken şey ise iç içe fonksiyon kullanabiliyor olmamız yani
Math.floor( Math.random() );
gördüğünüz gibi random sayı üretip bunu en yakın tam sayıya düşürdük sonuç illa ki 0 olacaktır şu an için. Bunun yerine ceil de kullanabilirsiniz.
saolun teşekkürler