C# Form Application ‘a alışmak için üzerinde pratik yapmamız gerekiyor. Bunun için de küçük büyük demeden sürekli proje geliştirmemiz gerekiyor. Böylece hem algoritmamızı geliştiririz hem de öğrendiğimiz kodları unutmayız hatta üstüne katabiliriz. Bu yazımızda sizlere ufak çaplı taş kağıt makas oyununu göstereceğiz. Hepimizin taş kağıt makas oyununu bildiğini ümit ediyorum.

  • 3 seçenek var. Taş, kağıt, makas.
  • Taş makası kırar, taş kazanır.
  • Kağıt taşı sarar, kağıt kazanır.
  • Makas kağıdı keser, makas kazanır.

2 veya daha fazla oyuncu ile oynanabilen bir oyundur. Form uygulamasında neler olduğunu gösterelim.

  • Form uygulamamızın üzerinde 7 adet label, 2 adet textbox ve 2 adet de buton bulunmaktadır.
  • İlk olarak isim kargaşası yaratmaması açısından label isimlerini değiştirdik. Fotoğrafta da görebilirsiniz.
  • Oyunumuzu anlatacak olursak,ilk olarak form uygulamamızı başlattığımızda karşımıza textboxlar ve 1 adet Giriş butonu çıkıyor. Diğer her itemin visible özelliği false yaptık.

  • Oyuncu1 ve Oyuncu2 textboxlarına isimler girilerek Giriş butonuna basmamız gerekiyor. Bu uygulamamızda boş bırakmak yasak, sayı kullanılmaz gibi kurallar bütününü koymadık. Yani projemizin ufak bir açığı da boş bırakıp girebilirsiniz diyebiliriz 🙂
  • Biz isimleri girerek devam ediyoruz ve Giriş butonuna tıkladığımızda alt kısımlardaki itemlerin visible özelliği true olup bu sefer üst taraftaki giriş yerinin visible ‘ını false yaptık. Bunu butona tıkladığımızda gerçekleştirdik.

  • Oyuncu girişlerini tamamladık. Oyunumuzu artık başlatabiliriz. Oyna butonuna tıkladığımızda iki yarışmacıdan birisi ya kazanacak ya da berabere kalacaklar. Berabere kalma durumunda bize mesaj kutusu ile uyarı geliyor.

  • Tekrar oyna butonuna basarak tekrar oynayalım.

  • Oynadık ve Özgün Taş, Barış Makas dediği için taş makası kırar, sonuç olarak özgün kazanır. Gördüğünüz üzere kazanan kişinin seçimi yeşil oldu, kaybeden kişinin seçimi ise kırmızı renk oldu. Alt kısımdaki lblSonuc’ta ise kazanan kişinin ismini belirterek kazandığı gösterildi.

Yapmış olduğumuz bu ufak uygulama ile neleri öğrendik?

  • Visible özelliği aktif ve pasif etmeyi öğrendik
  • Renk değişimlerini öğrendik
  • Random komutunun kullanımını öğrendik
  • İf komutunun kullanımını öğrendik
  • MessageBox kullanımını öğrendik.

Program kaynak kodlarını aşağıdan inceleyebilirsiniz, aklınıza takılan kısımlar için yorum kısmını kullanabilirsiniz. İyi çalışmalar 🙂
Programı indirmek için buraya tıklayabilirsiniz.

Bizi Facebook ve Instagram üzerinden takip etmeyi unutmayın.

private void button2_Click(object sender, EventArgs e) // Giriş Butonu
{
lblIsim1.Visible = true;
lblIsim2.Visible = true;
lblOyuncu1.Visible = true;
lblOyuncu2.Visible = true;
button1.Visible = true;
label5.Visible = false;
label6.Visible = false;
textBox1.Visible = false;
textBox2.Visible = false;
button2.Visible = false;
lblIsim1.Text = textBox1.Text;
lblIsim2.Text = textBox2.Text;
}
Random rnd = new Random();
string[] oyunMaddesi = { "Taş", "Kağıt", "Makas" };
private void button1_Click(object sender, EventArgs e) // Oyna Butonu
{
lblOyuncu1.Text = oyunMaddesi[rnd.Next(oyunMaddesi.Length)];
lblOyuncu2.Text = oyunMaddesi[rnd.Next(oyunMaddesi.Length)];
if (lblOyuncu1.Text == "Taş" && lblOyuncu2.Text == "Kağıt")
{
lblOyuncu1.ForeColor = Color.Red;
lblOyuncu2.ForeColor = Color.Green;
lblSonuc.Text = lblIsim2.Text + " kazandı!";
}
else if (lblOyuncu1.Text == "Taş" && lblOyuncu2.Text == "Taş")
{
lblOyuncu1.ForeColor = default;
lblOyuncu2.ForeColor = default;
lblSonuc.Text = "";
MessageBox.Show("Berabere");
}
else if (lblOyuncu1.Text == "Taş" && lblOyuncu2.Text == "Makas")
{
lblOyuncu1.ForeColor = Color.Green;
lblOyuncu2.ForeColor = Color.Red;
lblSonuc.Text = lblIsim1.Text + " kazandı!";
}
else if (lblOyuncu1.Text == "Kağıt" && lblOyuncu2.Text == "Kağıt")
{
lblOyuncu1.ForeColor = default;
lblOyuncu2.ForeColor = default;
lblSonuc.Text = "";
MessageBox.Show("Berabere");
}
else if (lblOyuncu1.Text == "Kağıt" && lblOyuncu2.Text == "Taş")
{
lblOyuncu1.ForeColor = Color.Green;
lblOyuncu2.ForeColor = Color.Red;
lblSonuc.Text = lblIsim1.Text + " kazandı!";
}
else if (lblOyuncu1.Text == "Kağıt" && lblOyuncu2.Text == "Makas")
{
lblOyuncu1.ForeColor = Color.Red;
lblOyuncu2.ForeColor = Color.Green;
lblSonuc.Text = lblIsim2.Text + " kazandı!";
}
else if (lblOyuncu1.Text == "Makas" && lblOyuncu2.Text == "Makas")
{
lblOyuncu1.ForeColor = default;
lblOyuncu2.ForeColor = default;
lblSonuc.Text = "";
MessageBox.Show("Berabere");
}
else if (lblOyuncu1.Text == "Makas" && lblOyuncu2.Text == "Taş")
{
lblOyuncu1.ForeColor = Color.Red;
lblOyuncu2.ForeColor = Color.Green;
lblSonuc.Text = lblIsim2.Text + " kazandı!";
}
else if (lblOyuncu1.Text == "Makas" && lblOyuncu2.Text == "Kağıt")
{
lblOyuncu1.ForeColor = Color.Green;
lblOyuncu2.ForeColor = Color.Red;
lblSonuc.Text = lblIsim1.Text + " kazandı!";
}
}