Yukarı aşagı sayı tahmin oyunu

C#’da 4 levelden oluşan bir sayı tahmini oyunu Bu programın aynısını Visual Basic’te yapmıştım ve Visual Basic bölümünde ders olarak yayınlamıştım. Onu C#’a da çevirdim.

İlk önce yeni bir C# projesi yaratıyoruz, Windows Application olarak. Formumuza 1 adet buton, 3 adet textbox, 1 adet label ve 1 adet listbox koyalım. Form görüntüsünü aşağıdaki gibi yapabiliriz. Formumuzun üstünde kullanılan butonların textboxların isimlerini değiştirdiğim için programın içinde kullandığım isimleri form üzerinde gösterdim..


Kod kısmına geldiğimizde ilk önce public partial class�ımızın içine:

int level = 1;
int tutulan;

değişken tanımlamalarını yapıyoruz, çünkü bu değişkenler her zaman ortak kullanacağımız değişkenler olduğundan burada tanımlıyoruz.

Daha sonra random sayı oluşturmak için random methodunu yazıyoruz fakat random methodonu da burada tanımlıyoruz. Eğer form_load kısmında tanımlamış olsaydık bize hep aynı random sayıyı verecekti. Eğer butonun içine tanımlamış olsaydık her butona bastığımızda random sayının değeri değişecek ve random sayıyı sabit tutamıyor olacaktık. Bundan dolayı random methodomuzu burada tanımlıyoruz. Tabi oyunumuz 4 levelden oluşacağı için ve her levelde bizim farklı random sayılara gerek duyacağımızdan dolayı bu random methodunu bir fonksiyon olarak burada tanımlayıp her levelin bitişinde bu random sayıyı yeniden oluşturmak için bu oluşturduğumuz fonksiyonu çağırmamız gerekiyor.

Evet arkadaşlar, bu kısım çok önemliydi. O zaman fonksiyonumuzu yine public partial class’ımızın içinde tanımlıyoruz ve şu şekilde:

void sayiuret() // fonksiyon adımız sayiuret
{
Random rnd = new Random(); //random methodu
int a = rnd.Next(0, 100); // 0-100 arasında random bisayı atama
tutulan = a*level; //levele göre sayı oluşturma..mesela //levelimiz 1 iken tutulan sayı // 1*(0 ile 100 arasında bi sayı)=0-100 arasında bi sayı.. level=2 ise
//tutulan=2*(0 ile 100 arasında sayı)=0-200 arasında bir sayı �gibi

}

Şimdi formumuzun form_load bölümündeki kodlamamıza. Burada formumuz yuklendiğinde random sayımızın oluşması gerekiyor. Zaten biz bu random sayıyı yukarıda fonksiyon içinde çağırmıştık. O zaman form_load bölümünde bu fonksiyonu seçmemiz gerekiyor. Form_load bölümündeki kodlarımız da aşağıdakiler:

private void Form1_Load(object sender, EventArgs e)
{
//textbox1�e girilen sayı değerini kullanabilmesi için stringe çevirmek geriyor
textBox1.Text = level.ToString();
sayiuret(); //yukarıda tanımladığımız sayiuret fonk. Çağırma

}

Evet, artık butonumuzun içindeki kod kısmına gelebiliriz.

private void btnTahmin_Click(object sender, EventArgs e)
{
int tahmin; // kendi tahmin ettiğimiz sayıyı yani tektboxa girdiğimiz sayıyı tanımladık
tahmin = Convert.ToInt32(txtTahmin.Text); //ve bu sayıyı integer değerine çevirdik
if (level <= 4) //levelimizi 4 demiştik yani 4 e eşit ve 4 den küçükse
{
if (tahmin < tutulan) //tahminimiz tutulan sayıdan küçükse YUKARI mesajını verecek
{
lblYon.Text = “Yukari”;
}
if (tahmin > tutulan) //tahminimiz tutulan sayıdan küçükse AŞA?I mesajını verecek
{
lblYon.Text = “Aşağı”;
}
if (tahmin == tutulan) //tahminimiz tutulan sayıya eşitse KAZANDINIZ mesajını verecek
{
level += 1; //leveli 1 arttıracak
lblYon.Text = “Kazandiniz… Level ” + level + “‘ye geçtiniz..”;
LbSonuc.Items.Add(level – 1 + “. Leveli Kazandınız..”); //listboxımıza ekleyecek
sayiuret(); // ve tekrar random methodumuzun tanıtığımız fonksiyonumuzu çağırdk
}
textBox1.Text = level.ToString(); // levelımızı gösteren textbox
}
Else // level 4 den buyukse oyun bitti mesajını gösterecek
{
lblYon.Text = “OYUN BİTTİ”;

MessageBox.Show(“Oyun Bitti…”);
}
}

Kodlamalarımız bu kadar, programımızı çalıştırdığımız zaman aşağıda verd,ğim görüntülerdeki gibi olacak:

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak.