C# Windows form uygulamaları ile yapılmış aşamalı sayı tahmin oyunudur. Aşamalı olarak 1 ile 100 arasında ve tahmini gerçekleştirdikten sonra devam etmek istiyorsa her aşamada 150 artırılarak devam eden bir sayı tahmin oyunudur.
3 Adet Label , 1 Adet TextBox, 1 Adet Buton eklendi. Gerekli biçim,font ve renk ayarları yapıldı.
Bu uygulamada form üzerinde Enter tuşuna tıklandığında BUL buttonu çalıştırılmakta, BUL buttonuna tıklandığında TextBox içi temizlenerek TextBox'a odaklanılmaktadır.
Formunuzu oluşturup aşağıdaki kodları yazarak olay(event) bağlantılarını yaptığınızda çalıştırmış olursunuz.
static int sayi;
static int deneme = 0;
static int max_tutulacak_sayi=100;
rastgele sayı tutma için oluşturulan metot
static void sayi_tutma_sifirla(int ts)
{
deneme = 0;
Random r = new Random();
sayi = r.Next(1, ts+1);
}
private void Form1_Load(object sender, EventArgs e)
{
sayi_tutma_sifirla(100);
label2.Text = "1 ile " + max_tutulacak_sayi + " arasında sayı girin";
label3.Text = "";
textBox1.Focus();//textBox1'e odaklanma
this.AcceptButton = button1; //Form üzerinde ENTER tuşuna basıldığında button1'i çalıştırma
}
private void button1_Click(object sender, EventArgs e)
{
int girilen_sayi = Convert.ToInt32(textBox1.Text);
textBox1.Focus();
textBox1.Text = "";
deneme++;
label3.Text = deneme + ". denemeniz";
if (girilen_sayi == sayi)
{
Tahmin ettiğinde devam etmek istiyormusunun mesajı vermek için ve duruma göre programı kapatma ve devam etme
DialogResult sonuc= MessageBox.Show("Tebrikler bildiniz \n"+deneme + ".denemede bildiniz \nDevam etmek istermisiniz?", "", MessageBoxButtons.YesNo);
if (sonuc == DialogResult.No) //Hayır seçilirse uygulamayı kapat
{
Application.Exit();
}
else if (sonuc == DialogResult.Yes) //Evet ise Oyunda bir adım ileri git
{
max_tutulacak_sayi = max_tutulacak_sayi + 150;
label2.Text = "1 ile " + max_tutulacak_sayi + " arasında sayı girin";
label3.Text = "";
sayi_tutma_sifirla(max_tutulacak_sayi);
}
}
else if (girilen_sayi < sayi)
label2.Text = girilen_sayi + " sayısından büyük girin";
else if (girilen_sayi > sayi)
label2.Text = girilen_sayi + " sayısından küçük girin";
}
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsDigit(e.KeyChar) ) { e.Handled = true; } //TextBoxt'a basılan karakter sayısal değilse elkoy yani yazdırma
if ((e.KeyChar == (char)Keys.Back)) e.Handled = false; //BackSpace tuşuna basıldıysa el koyma yani yazdır
}
Yorum ekle