ASP.NET Örnekleri: Tahmin Haklı Sayı Bulma Oyunu

Bu uygulamada 0 ile 100 arasında rastgele (random) belirlenen sayı, kullanıcının belirlediği hak kadar tahmin edilebilecektir. Deneyebileceği hak sayısı azaldıkça ekranda gösterilecek ve bittiğinde kullanıcıya “Hakkınız kalmamıştır.” şeklinde uyarı verilecektir.

Tahmin Haklı Sayı Bulma Oyunu iki aşamadan oluşmaktadır. İlk aşamada kullanıcı tbhak nesnesine denemek istediği hak sayısını girer ve başla butonuna tıkladığında aşağıdaki işlemler sırasıyla gerçekleştirilir.

  • tbhak nesnesinin Text özelliğinden hak sayısı alınır ve 0-100 aralığında olup olmadığı kontrol edilir. Eğer 0-100 aralığında ise lbkalanhak nesnesinin Text özelliğine yazılarak kullanıcının deneme hakkını görmesi sağlanır.
  • 0-100 aralığında rastgele sayı üretilir. lbsayi nesnesinin Text özelliğine aktarılır ve tahmin edilecek sayıyı kullanıcının görmemesi için visible özelliği false yapılır.
  • Alt ve üst sınır değerleri belirlenir.
  • tbhak ve btBasla nesnelerinin kullanımları Enabled özelliği ile kısıtlanır.

Yani kullanıcı hak sayısını girdikten ve butona bastıktan sonra oyun başlamıştır ve oyunu sonlandırmadığı sürece hakkını değiştiremez.

İkinci aşamada ise kullanıcının kalan hakkı kontrol edilir ve her denemesinde azaltılır. Eğer kullanıcın hakkı bittiyse tahmin girişlerinin yapıldığı Textbox kısıtlanır ve btBul butonu gizlenir. Bu şekilde kullanıcı daha fazla deneme yapamaz.

Kullanıcının hakkı hala varsa alt ve üst sınırlar içinde olup olmadığı kontrol edildikten sonra tahmin edeceği sayıya yaklaşıp yaklaşmadığı alt ve üst sınır değerleri ile yönlendirilir. Kullanıcı tahmin edilecek sayıdan daha yüksek bir değer girdiyse artık en üst sınırımız bu sayıdır. Ya da tahmin edilecek sayıdan daha az bir değer girdiyse alt sınırımız artık o sayı olmuştur. Bu şekilde aralık daraltılarak kullanıcı tahmin edilecek sayıyı bulması için yönlendirilir.

 

About Seçil ŞEKERCİ HÜSEM

2010 yılından bu yana Bilişim Teknolojileri Öğretmeni olarak meslek liselerinde görev yapmaktayım.

View all posts by Seçil ŞEKERCİ HÜSEM →

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.