Bu uygulamada 0 ile 100 arasında rastgele (random) belirlenen sayı, Textbox nesnesine girilen sayılarla tahmin edilecektir. Eğer girilen sayı, tahmin edilecek sayıdan küçük ise YUKARI, büyük ise AŞAĞI veya tahmin doğru ise TEBRİKLER şeklinde yönlendirme yapılacaktır.
Kullanıcının gireceği tahminler için 1 adet Textbox, tahmin işlemi için 1 adet Button kullanılacaktır. Bilgilendirme mesajı için 1 adet Label eklendi. Eklenen nesnelerin ID’leri tutatacakları değer ve yapacakları işlemlere dikkat edilerek isimlendirilmiştir. Eğer uygulamamızı çok daha basit olmasını istersek tahmin edilecek sayı program içinden sabit olarak da belirlenebilir. Örneğin aşağıdaki uygulamada program içerisinde 73 olarak belirlenen sayı tahmin edilmektedir.
1 2 3 4 5 6 7 8 9 10 11 | protected void btBul_Click(object sender, EventArgs e) { int tahmin = Convert.ToInt32(tbTahmin.Text); int sayi = 73; if (tahmin == sayi) Label2.Text = "TEBRİKLER"; else if (tahmin < sayi) Label2.Text = "YUKARI"; else Label2.Text = "AŞAĞI"; } |
Tahmin edilecek sayıyı rastgele (Random) olarak seçip bu sayıyı tahmin etmek için yukarıdaki örneğimiz üzerinde birkaç değişiklik yapmamız gerekiyor.
ASP.net’de button gibi bazı nesnelere tıklandığında sayfa yenilenmektedir. Bu da program içinde kullandığımız değişkenlerin sıfırlanması yani içinde ne varsa kaybolması anlamına gelmektedir. Tahmin edilecek sayı rastgele üretildikten sonra kullanıcı her butona tıkladığında sayfa yenilendiği için tahmin edilecek sayı her seferinde değişmek durumunda kalmaktadır. Bu durumu sayfamızın içerisine gizlediğimiz Label nesnesi ile çözeceğiz.
Sayfamıza lbGizliSayi ID’li 1 adet Label eklendi ve Page Load olayı esnasında görünüm (Visible) özelliği FALSE olarak ayarlandı.
1 2 3 4 | protected void Page_Load(object sender, EventArgs e) { lbGizliSayi.Visible = false; } |
Rastgele üretilen sayıyı gizleyeceğimiz Label’ı oluşturduktan sonra kullanıcının sayı tahmin işlemini gerçekleştirilecektir. BUL butonunun tıklama olayında ilk aşamada eğer lbGizliSayi.Text boş ise yani herhangi bir sayı rastgele üretilmediyse random olarak 0 ile 100 arasında sayı üretilir ve lbGizliSayi nesnesinin Text özelliğine aktarılır. lbGizliSayi nesnesi gizli olduğu için kullanıcı bu sayıyı görmeyecektir.
Textbox’dan alınan tahminler ile rastgele üretilen sayı karşılaştırılır ve kullanıcı yukarı, aşağı veya tebrikler mesajları ile yönlendirilir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | protected void btBul_Click(object sender, EventArgs e) { if (lbGizliSayi.Text == "") { Random rastgele = new Random(); int sayi = rastgele.Next(0, 100); lbGizliSayi.Text = sayi.ToString(); } int s = Convert.ToInt32(lbGizliSayi.Text); int tahmin = Convert.ToInt32(tbTahmin.Text); if (tahmin == s) { lbMesaj.Text = "TEBRİKLER"; lbGizliSayi.Text = ""; } else if (tahmin < s) lbMesaj.Text = "YUKARI"; else lbMesaj.Text = "AŞAĞI"; } |
Yeni oyun başlatmak için 1 adet Button ekleyerek kullanıcının istediği zaman oyunu başa alması sağlanır. Yeni oyun başlatmak için aşağıdaki nesnelerin Text özelliklerinin sıfırlanması yeterlidir.
1 2 3 4 5 6 | protected void Button1_Click(object sender, EventArgs e) { lbMesaj.Text = ""; lbGizliSayi.Text = ""; tbTahmin.Text = ""; } |