C# İLE TAŞ-KAĞIT-MAKAS OYUNU

Bilgisayar oyunlarını oynayan çoğu insanın hayali bir gün kendi bilgisayar oyununu yapmak ister. Bunun temel sebeplerinden biri ise oynadığımız bilgisayar oyunlarının hikayelerinden ve oynanış dinamiğinden etkilenmemiz olduğu söylenebilir. Profesyonel bir oyun yapmak hem geniş bir maddi kaynak hem de çalışkan ve yetenekli bir çalışma grubu gerektirdiği için çoğu zaman bu hayalimiz yarım kalır. Ama küçük mobil oyunlar veya bilgisayar oyunları yapamayacağımız anlamına gelmez. C# ile taş-kağıt-makas oyununu yapmak çok kolay. Tek gereken şey Visual Studio ve biraz yazılım bilgisi. Ben Visual Studio 2017 ürününü kullanıyorum. Siz de çok eski olmayan Visual Studio ürünlerini kullanabilirsiniz.

 

Hadi Başlayalım:

 

İlk önce uygulamayı açıp yeni bir proje oluşturmanız gerekiyor. Yeni Windows Formu diyerek kendi projenizi oluşturmaya başlayabilirsiniz

 

Gerekli Araçlar:

 

Form açıldıktan sonra sağ tarafta araç kutusunu görebilirsiniz. Peki bu araç kutusundan hangi araçları kullanacağız ?

 

5 Adet Buton

4 Adet Label

 

Buton1 = Başla

Buton 2 = Taş

Buton 3 = Kağıt

Buton 4= Makas

Buton 6 = Yeniden Başlat

Label 1 = Görünmez şekilde ayarlanmış. Oyuncunun seçtiği seçeneği görmenizi sağlıyor. Mavi renkli kutunun altına koyabilirsiniz

Label 2 = = Görünmez şekilde ayarlanmış. Bilgisayarın seçtiği seçeneği görmenizi sağlıyor. Mavi renkli kutunun altına koyabilirsiniz

 

Label 6 = Oyuncu

Label 8 = Oyuncu skoru (Başlangıçta 0 olarak ayarlamanız gerekiyor)

Label 5 = Bilgisayar

Label 7 = Bilgisayar skoru (Başlangıçta 0 olarak ayarlamanız gerekiyor)

 

Oyunun Mantığı Ne?

 

Taş-kağıt-makas oyunu 3 olasılıklı bir oyun ve 3 olasılık da %33.33 değerinde. Bu mantıkla hareket ederek 1,2,3 rakamlarının bilgisayar tarafından rastgele çekilmesini sağladım. Örneğin siz Taş butonuna basarsanız, bu hareketten itibaren rastgele kodu devreye girecektir. Eğer 1 sayısı denk gelirse sistemdeki eşiti olan değeri, bilgisayarın seçimi olarak atanacaktır. 1 sayısı taş olarak atandıysa durum berabere olacaktır. Skoru 11 olan ilk kişi oyunu kazanacaktır. İsterseniz aşağıdaki kodları inceleyerek oyunun çalışma mantığını anlayabilirsiniz.

 

Kodlar

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace Taş_Kağıt_Makas

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

button2.Enabled = false;

button3.Enabled = false;

button4.Enabled = false;

}

Random rastgele = new Random();

int toplamben = 0;

int toplampc = 0;

private void button1_Click(object sender, EventArgs e)

{

 

 

button1.Enabled = false;

button2.Enabled = true;

button3.Enabled = true;

button4.Enabled = true;

}

 

private void button2_Click(object sender, EventArgs e)

{

int bilgisayar= rastgele.Next(1, 4);

label1.Text = “Taş”;

 

if (bilgisayar == 1)

{ label2.Text = “Taş”;

MessageBox.Show(“Berabere”);

}

if (bilgisayar == 2) { label2.Text = “Kağıt”;

MessageBox.Show(“Bilgisayar Kazandı”);

toplampc++;

label7.Text = toplampc.ToString();

} if (bilgisayar == 3) { label2.Text = “Makas”;

MessageBox.Show  (“Siz Kazandınız”);

toplamben++;

label8.Text = toplamben.ToString();

}

if (toplamben > 10 && toplamben > toplampc) { MessageBox.Show(“Çok Şanslısın ;)”);

button2.Enabled = false;

button3.Enabled = false;

button4.Enabled = false;

}if(toplampc>10 && toplampc > toplamben) { MessageBox.Show(“Bir Dahaki Sefere :S”);

button2.Enabled = false;

button3.Enabled = false;

button4.Enabled = false;

}

 

}

 

 

private void button3_Click(object sender, EventArgs e)

{

int bilgisayar = rastgele.Next(1, 4);

label1.Text = “Kağıt”;

 

if (bilgisayar == 1) { label2.Text = “Taş”;

MessageBox.Show(“Siz Kazandınız”);

toplamben++;

label8.Text = toplamben.ToString();

}

if (bilgisayar == 2) { label2.Text = “Kağıt”;

MessageBox.Show(“Berabere”);

}

if (bilgisayar == 3) { label2.Text = “Makas”;

MessageBox.Show(“Bilgisayar Kazandı”);

toplampc++;

label7.Text = toplampc.ToString();

}

if (toplamben > 10 && toplamben > toplampc) { MessageBox.Show(“Çok Şanslısın ;)”);

button2.Enabled = false;

button3.Enabled = false;

button4.Enabled = false;

}

if (toplampc > 10 && toplampc > toplamben) { MessageBox.Show(“Bir Dahaki Sefere :S”);

button2.Enabled = false;

button3.Enabled = false;

button4.Enabled = false;

}

 

}

 

private void button4_Click(object sender, EventArgs e)

{

int bilgisayar = rastgele.Next(1, 4);

label1.Text = “Makas”;

if (bilgisayar == 1) { label2.Text = “Taş”;

MessageBox.Show(“Bilgisayar Kazandı”);

toplampc++;

label7.Text = toplampc.ToString();

}

if (bilgisayar == 2) { label2.Text = “Kağıt”;

MessageBox.Show(“Siz Kazandınz”);

toplamben++;

label8.Text = toplamben.ToString();

}

if (bilgisayar == 3) { label2.Text = “Makas”;

MessageBox.Show(“Berabere”);

}

if (toplamben >10 && toplamben>toplampc) { MessageBox.Show(“Çok Şanslısın ;)”);

button2.Enabled = false;

button3.Enabled = false;

button4.Enabled = false;

}

if (toplampc > 10 && toplampc > toplamben) { MessageBox.Show(“Bir Dahaki Sefere :S”);

button2.Enabled = false;

button3.Enabled = false;

button4.Enabled = false;

}

 

}

 

 

private void button6_Click(object sender, EventArgs e)

{

Application.Restart();

}

 

Not: Fotoğrafa görmüş olduğunuz emeği geçenler kısmını dahil etmek istemedim o kısım işin biraz eğlencesi 😊 . Github sayfamda programı bulabilirsiniz. Github.com/orhunonar/

 

ORHUN ONAR

(Visited 236 times, 1 visits today)

1 thought on “C# İLE TAŞ-KAĞIT-MAKAS OYUNU

Bir cevap yazın

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