Algoritma geliştirmeye de önemli ölçüde faydası olduğunu düşündüğüm (oynanmasını kesinlikle karşıyım) bir uygulama olan Sayısal Loto uyununun
Csharp(C#), Java, PHP, C++ gibi programlama dilleri ile yazılmış doğru algoritmalarını bulmak mümkün.
Ben de bu uygulamada Javascript (Jquery) ile doğru çalışan bir örneğini hazırlayacağım.
Javascript (Jquery) ile doğru şekilde yazılmış olan uygulamasını internette bulamadığım için kolları sıvayıp kendim yazmaya karar verdim.
Her soruda olduğu gibi öncelikle sorunun doğru tanımlamak gerekir. Sayısal loto uygulamasını yapmadan önce sayısal lotonun ne olduğuna wikipedia üzerinden araştırdım.
Sayısal Loto: 49 sayı içerisinde seçilecek 6 sayıyı bilme üzerine dayalı şans oyunudur.
Bu tanımdan yola çıkarak öncelikle 1-49 arasında rastgele 6 sayı belirleyen javascript kodumu yazıyorum.
/*sayıların belirlenmesi için gerekli global değişkenlerin tanımlanması*/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
var toplar=[],sayi,sayac=0; /*şanslı sayıları belirliyoruz*/ while(sayac < 6) { sayi=Math.floor(Math.random()*49)+1; if(toplar.indexOf(sayi)==-1) { toplar.push(sayi); sayac++; } } |
1 2 3 4 5 6 |
/*toplarımızı oluşturup ekrana yerleştiriyoruz.*/ for(i=1;i < 50;i++) { $(" |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
.top{ background:rgba(59,182,233,1.00); width:100px; height:100px; line-height:100px; border-radius:50%; text-align:center; font-size:1.5em; font-weight:500; float:left; margin:5px; } |
1 2 3 4 5 6 7 8 9 10 11 |
/*toplarımızı oluşturup ekrana yerleştiriyoruz.*/ $(".top").each(function(index, element) { var kutuSayi=Number($(element).html()); if(toplar.indexOf(kutuSayi)>=0) { $(element).css({"background":"red"}); } }); |
Aşağıdaki butonsuz ve butonlu olarak iki sayfa tasarımı yapılmıştır. uygulama.html olarak kaydedip her hangi bir tarayıcı ile açıyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
<!doctype html> <html> <head> <meta charset="utf-8"/> <title>ŞANS TOPU</title> <style> .top{ background:rgba(59,182,233,1.00); width:100px; height:100px; line-height:100px; border-radius:50%; text-align:center; font-size:1.5em; font-weight:500; float:left; margin:5px; } </style> </head> <body> <script src="https://code.jquery.com/jquery-1.12.1.min.js"></script> <script> /*sayıların belirlenmesi için gerekli global değişkenlerin tanımlanması*/ var toplar=[],sayi,sayac=0; /*şanslı sayıları belirliyoruz*/ while(sayac < 6) { sayi=Math.floor(Math.random()*49)+1; if(toplar.indexOf(sayi)==-1) { toplar.push(sayi); sayac++; } } /*toplarımızı oluşturup ekrana yerleştiriyoruz.*/ for(i=1;i < 50;i++) { $("<div class='top'>").appendTo($("body")).html(i); } $(".top").each(function(index, element) { var kutuSayi=Number($(element).html()); if(toplar.indexOf(kutuSayi)>=0) { $(element).css({"background":"red"}); } }); </script> </body> </html> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
<!doctype html> <html> <head> <meta charset="utf-8"> <title>ŞANS TOPU</title> <style> .top{ background:rgba(59,182,233,1.00); width:100px; height:100px; line-height:100px; border-radius:50%; text-align:center; font-size:1.5em; font-weight:500; float:left; margin:5px; } button{ background:rgba(33,37,15,1.00); font-weight:bold; font-size:2em; color:#D8DD05; padding:10px; border:none; } </style> </head> <body> <button>OYNA</button> <div style="clear:both"></div> <script src="https://code.jquery.com/jquery-1.12.1.min.js"></script> <script> //sayisalOyna fonksiyonunu çağırıyoruz. $("button").click(sayisalOyna); /*toplarımızı oluşturup ekrana yerleştiriyoruz.*/ for(i=1;i<50;i++) { $("<div class='top'>").appendTo($("body")).html(i); } function sayisalOyna(){ /*sayıların belirlenmesi için gerekli global değişkenlerin tanımlanması*/ var toplar=[],sayi,sayac=0; /*şanslı sayıları belirliyoruz*/ while(sayac<6) { sayi=Math.floor(Math.random()*49)+1; if(toplar.indexOf(sayi)==-1) { toplar.push(sayi); sayac++; } } /*arkaplanı ilk rengi ile boyuyoruz. ikinci ve diğer tıklamalar için önemli*/ $(".top").css({"background":"rgba(59,182,233,1.00)"}); $(".top").each(function(index, element) { var kutuSayi=Number($(element).html()); if(toplar.indexOf(kutuSayi)>=0) { $(element).css({"background":"red"}); } }); } </script> </body> </html> |
Diğer Örnekler:
- JavaScript Hipotenüs Hesaplama Örneği
- JavaScript Sayısal Loto Örneği
- JavaScript Varmısın Yokmusun Örneği
- JavaScript Dizi İçindeki En Büyük En Küçük Sayıyı Bulma Örneği
- JavaScript Dikdörtgen Alan ve Çevre Hesaplama Örneği
- JavaScript Asal Sayı Kontrol Etme Örneği
- JavaScript Daire Alanı ve Çevresini Hesaplama Örneği
- JavaScript Faktoriyel Hesaplama Örneği
- JavaScript While Döngüsü Örnekleri
- JavaScript Metin İçinde Arama Yapma Örneği
- JavaScript Switch Case Kullanımı Örneği
- JavaScript Rastgele Sayı Üretme Örneği
- JavaScript Girilen Sayının Negatif Pozitif Olduğunu Bulan Örnek
- JavaScript Sayfa Arkaplan Rengini Rastgele Değiştirme Örneği
- JavaScript Dizi Metotları Örnekleri
- JavaScript Km-Mil Çevirme Örneği
- JavaScript Derece-Fahrenayt Çevirme Örneği
- JavaScript Gün İsmini Ekrana Yazdırma Örneği
- JavaScript Sayı Tahmin Oyunu Örneği
- JavaScript Console Log Kullanımı
- JavaScript Kürenin Hacmini Hesaplama Örneği
- JavaScript Üçgenin Alanını Hesaplama Örneği
- JavaScript Çarpım Tablosu Örneği
- JavaScript 3′ e ve 5′ e Tam Bölünebilme Örneği
- JavaScript Karenin Alanı ve Çevresini Hesaplama Örneği
- JavaScript Yazılı Ortalaması Hesaplama Örneği
- JavaScript Try-Catch-Finally Kullanımı Örneği
- JavaScript Div İçeriğini Temizleme Örneği
- JavaScript Switch-Case Kullanımı Örneği
- JavaScript Buttona tıklandığında Kod Çalıştırma Örneği
- JavaScript events(olay) kullanımı Örnekleri
- JavaScript For Döngüsü Karışık Örnekler
- JavaScript Tarih ve Saat Yazdırma Örneği
- JavaScript Fonksiyon Kullanımı Örneği
- JavaScript Vize Final Hesaplama Örneği
- JavaScript onInput Olay Kullanımı Örneği
- JavaScript Kayan Yazı Örneği
- JavaScript Kombinasyon Hesaplama
- JavaScript radio Kullanarak Dört İşlem Örneği
- JavaScript Toplama Çıkarma Çarpma Bölme Örneği
- JavaScript Sayfayı Tam Ekran Yapma Örneği
- JavaScript Fare Konumunu Öğrenme Örneği
- JavaScript Object Kullanımı Örneği
- JavaScript Kalan Karakter Bulma- Karakter Sayma Örneği
- JavaScript Mükemmel Sayı Kontrol Etme Örneği