Merhaba arkadaşlar array, random sınıflarını da tanıyacağımız bu makalenin ilginç bir hikayesi var gerçekten. Her programcı gibi bir nebze olsun içinizde bir program, bir proje yapıp köşeyi dönme isteği olduğunu düşünüyorum. işte yine böyle günlerden birinde kafama bir şey dank eder.Milli Piyangomuzun 10 numara oyunu için bir program yapsak(çıkma olasılığı nispeten daha yüksek bir oyun) şöyle üç beş bin tl’lik 10 numara oynasaydık bize çıkarmıydı diye aklımızdan geçti ve programı yazmaya karar verdim. neyse uzatmadan konuya geçelim.oyundan kısaca bahsedecke olursak 80 sayodan 22 sayı çekiliyor 10 tanesini bilirseniz büyük ikramiye sizin çok sayı çekildiği için olasılık yüksek gibi. üstelik 9 bilene de fena vermiyor. 8,7,6 ve 0 biline de ikramiyeler var.gerisini programın içinde anlatıyorum. açıklama satırlarını takip edebilirsiniz.
” + k.ToString() + ” : “;//10 sayı oynama hakkımız var her kolon için.while (j < 10){//80 sayı içinden ragele 10 sayımız sırayla oluşuyor.ras = random.Next(1, 80);//ras değişikenimiz benzersizse işleme geçiyoruz.daha önce aynı sayı gelmemişseif (Array.IndexOf(oynanan, ras) == -1){j++;//oynadığımız sayılar listesini oluşturoyoruz.oynanan[j] = ras;//ceikilen sayılarda arsgele sayımızı arıyoruz varsa bilme işini artırıyoruz.if (Array.IndexOf(oynanan, ras) != -1 && Array.IndexOf(cekilen, ras) != -1){kac++;//bu label'da bilinen sayıları bold yapar gereksiz bi kod.Label2.Text = Label2.Text.Replace(ras.ToString(), "” + ras.ToString() + ““);
}//oynanan kolonumuzu sıralı şekilde yazıyoruz. 10 sayı olacka döngü bitimindeLabel4.Text += oynanan[j].ToString() + “- “;}}// Response.Write(“dönen kayıt:” + j.ToString());//6 veya 0 bildiysek ikramiye kazandık.if (kac >= 6 || kac==0){Label3.Text += kac.ToString() + ” bildiniz (” + k.ToString() + “.satir)
“;//burda switch ve arrayların kullanımını görüyorsunuz.//kac sayısının 0,6,7,8,9,10 için üstteki ikramiye değerlerini topluyor.switch (kac){case 0:toplam += ikramiyeler[0];break;case 6:toplam += ikramiyeler[1];break;case 7:toplam += ikramiyeler[2];break;case 8:toplam += ikramiyeler[3];break;case 9:toplam += ikramiyeler[4];break;case 10:toplam += ikramiyeler[5];break;}}}//o kadar oynadık bakalım karda mıyız zararda mı diyenler buyursunlar//kolonu 0.50 tlden bir hesap.Label3.Text += “
kaybedilen:” + Convert.ToString(kolon * 0.50) + ” TL kazanilan :” + toplam.ToString() + ” TL”;//bildikleriniz sonu
sonucu merak edenler söyliyim. beklediğimiz olasılıktan çok daha düşük bir olasılık çıktı. 5000 kolon ile denediğimizde bile anca yüzde 20si kadar bir ikramiye kazanabiliyorsunuz. çok istisna bir durum olmazsa. tabi bilgisayarınız kasılıyor biraz hesaplamak için. üstelik defalarca tıklamanıza rağmen 10 bilmeyi geçtim 9 bile 1 kere denk geldi ancak. üstelik her tıkta 250 tl kaybettiğinizi unutmayın.yine de şöyle düşünlere iyi bir cevap oldu. gerçekten olasılık değil şans oyunu olduğunu görmüş olduk.- lan para olcak bascan 2-3 milyarlık oynıcan.- adamlar zengin abi bi oynuyo 300 milyonlukyok denemeyin. önce test edin kendiniz görün.şahsen değil çok paralık az oynası bile kalmıyor insanın şuanki sistem 500 kolon ile test ediyor. yani 250 liralık. deneyin görün. kazancınızı da görebiliyorsunuz. genelde full zarar oluyor ama. çok tıklamayın sunucumu fazla yormayın. 🙂 beni de hostumdan etmeyin.denemek isteyenler buradan.programı indirmek isteyenler ise buradan buyursunlar.