As3 ile İstenilen İki Sayı Aralığında Rastgele Değer Üretmek [Ayrıntılarıyla]

Posted on Cumartesi, Mayıs 10th, 2008 at 00:44

Not: (” Tırnak) işaretlerini kodlamada yeniden yazınız!.. 

Merhaba… Başlıkta okuduğunuz olayı merak edenler olacağını düşünüyorum. Çünkü 0′dan 100 e kadar değil istenilen iki sayı aralığında üretim yapmanız gerekebiliyor. Bunu döngü kullanmak gibi yöntemlere başvurmadan yapmaya çalışacağız.

 Normal bir formül bulamadım ve olduğunuda düşünmüyorum artık :) çünkü bu konuda garip, ya da bana garip gelen bir yöntem kullanılıyor. Zaten bu yöntem de neredeyse 50 - 100 yazmak kadar kolay…

 Formülden önce rastgele sayı üretmeye değinelim.

Normal olarak Math.random() * 5 bize küsüratlarıyla 0 ve 5 arasında bir sayı üretiyor

Hemen burada trace( Math.random() * 5 ); için size birkaç çıktı örneği sunayım..

4.483522835653275
2.5633414555341005
0.4909193282946944
0.3138676448725164
3.984576524235308
0.14078772393986583
3.4469632944092155
1.7632966116070747

Şimdide şu küsürlerden kurtulalım. Bunun için round, floor ve ceil seçenekleri mevcut fakat hepsininde ufak ayrıntıları var.

Math.round(Math.random() * 5); // 0.1.2.3.4.5 üretiliyor
Math.floor(Math.random() * 5); // 0,1,2,3,4 üretiliyor
Math.ceil(Math.random() * 5); // 1,2,3,4,5 üretiliyor

Gelelim iki sayı arasında rastgele değer üretmeye

sayiBir ve sayiIki şeklinde iki nokta düşünün. Bunlardan ikincisi yani sayiIki, üretilmesini istediğimiz iki sayı aralığından birincisi. Sayı aralığının son kısmı ise bu iki sayının toplamı şeklinde düşünülmeli…

Aşağıdaki kodda Sayı 1 ve Sayı 2 sırasıyla yer alıyor

Math.random() * 100 + 50;

Şu halde program 50 ve 150 aralığında sayı üretiyor.

 Ayrıca az önce ilginç birşey tespit ettim. çok çok büyük bir sayı yazdığınızda linkteki program sayı üretemiyor. Bu sorun ben de mi flash ‘ta mı bilemiyorum ama anlar ve bana bildirirseniz sevinirim :)

Sonuç >> http://mehmetoglu.org/as3_dersler/iki_sayi_arasinda_rastgele_sayi.swf

Proje Dosyası >> http://mehmetoglu.org/as3_dersler/iki_sayi_arasinda_rastgele_sayi.fla

Sevgilerle…

İstersen yorum yazabilirsin, ya da kendi sitenden "geridönüş" (trackback) ekleyebilirsin.

3 Yorum yazılmış

 1 

Sebebi buldum. Gazing kardeşimiz mmistanbul ‘da bir makalede yazmış :) olay int sayısının bir limite dahil olmasındanmış. Bunun için uygulamayı Number değişkenlerleriyle çalıştırabilir ve round ile küsüratları engelleyebilirsiniz..

Sevgilerle..

Mayıs 10th, 2008 at 15:17
 2 
İsmail Aslanhatun:

hiçbir bilgi paylaşımından kaçınmamışsın. sayenizde as3 bilgilerim bayağı bi ilerledi. emeğine, yüreğine ve ilmine sağlık. Allah ilmine bereket versin.
Saolasın…

Mart 13th, 2009 at 18:56
 3 

teşekkür ederim est.. henüz bende yeni olduğumdan ayrıntılara giremiyorum ama as3coder.com da muttalip tulgar gibi değrrli bi hocamızın yazıları mevcut.. takip etmenizi öneririm (: sevgiler..

Mart 14th, 2009 at 11:05

Yazmayan ölsün..

Adın
e-Postan (Yayımlarsam ne olim)
Siten
Gençliğini neyle değerlendirdin?
Yorumun: