Nis
5
2012
5
2012
C#’ da Slot Programı
Yazar: Cansu AYVAZ GÜVEN
Yorum Yok
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace SLOT { public partial class Form1 : Form { public Form1() { InitializeComponent(); } // Tanımlamalarım.. int jetonsayisi = 0; int kasadakipara = 0; Random rnd = new Random(); int index = 0; int kesinkazan; int resim1, resim2, resim3 = 0; int kazanilanpara = 0; int harcanilanpara = 0; System.Media.SoundPlayer ses = new System.Media.SoundPlayer(); void sonuckontrol() { /* Sonuç kontrol kısmım eğer tek resim geldi ise uzun kahkaha, iki resim aynı geldi ise kısa kahkaha, hepsi aynı ise alkış karar * mekanizmasını burada tanımlıyorum. */ if (resim1 == resim2 && resim2 == resim3) { ses.SoundLocation = Application.StartupPath + "\\ALKIS.wav"; ses.Play(); label6.Text = "Kasadaki " + kasadakipara.ToString() + "TL'yi kazandınız"; kazanilanpara = kazanilanpara + kasadakipara; label12.Text = kazanilanpara.ToString(); kasadakipara = 0; Refresh(); } else if (resim1 == resim2 || resim2 == resim3 || resim3 == resim1) { ses.SoundLocation = Application.StartupPath + "\\kisakahkaha.wav"; ses.Play(); label6.Text = "Az kaldı, bir daha şansınızı deneyiniz.."; } else { ses.SoundLocation = Application.StartupPath + "\\uzunkahkaha.wav"; ses.Play(); label6.Text = "Üzülme aşkta kazanırsın :))))"; } } void bip() { ses.SoundLocation = Application.StartupPath + "\\bip.wav"; ses.Play(); } private void button1_Click(object sender, EventArgs e) { /* oyna denildiğinde jeton sayısı arttırılıyor, timer 1 çalıştırılıyor, label bilgileri yazdırılıyor */ jetonsayisi = jetonsayisi + 1; timer1.Enabled = true; label2.Text = jetonsayisi.ToString(); kasadakipara = kasadakipara + 10; label4.Text = kasadakipara.ToString(); ses.Stop(); label6.Text = ""; harcanilanpara = jetonsayisi * 10; label8.Text = harcanilanpara.ToString(); } private void timer1_Tick(object sender, EventArgs e) { // Eğer jeton sayısı 10 dan az ise, birinci resim ilk 10 resim alanında dönüyor, ilk 10 içinden seçiliyor. Diğerleri ise 30 resim içinde dönüyor. if (jetonsayisi < 10) { int resim1deger = rnd.Next(0, 10); int resim2deger = rnd.Next(0, 30); int resim3deger = rnd.Next(0, 30); pictureBox1.Image = ımageList1.Images[resim1deger]; pictureBox2.Image = ımageList1.Images[resim2deger]; pictureBox3.Image = ımageList1.Images[resim3deger]; index += 1; resim1 = resim1deger; // Gelen resmi birinci resim olarak ayarladım, kontrol için.. // Tüm hepsinden sonra timer 1 durduruluyor. if (index == 29) { timer1.Stop(); bip(); timer2.Start(); index = 0; } } /* Eğer jeton sayısı 10 dan fazla ise ve kasadaki para - ise kazanma şansını bir miktar arttırıyoruz, resim 1. kısımdan 0-30 arasında gelecek */ else if (kasadakipara < 0 && jetonsayisi >= 10) { int resim1deger = rnd.Next(0, 30); int resim2deger = rnd.Next(0, 30); int resim3deger = rnd.Next(0, 30); pictureBox1.Image = ımageList1.Images[resim1deger]; pictureBox2.Image = ımageList1.Images[resim2deger]; pictureBox3.Image = ımageList1.Images[resim3deger]; index += 1; resim1 = resim1deger; // timer 2 durduruluyor.. if (index == 29) { timer1.Stop(); bip(); timer2.Start(); index = 0; } } /* Eğer jeton sayısı 10 dan fazla ise ve 20 den az ise ayrıca kasadaki para + ise kazanma şansını daha fazla arttırıyoruz, resim 1. kısımdan 0-30 arasında gelecek */ else if (kasadakipara > 0 && jetonsayisi >= 10 && jetonsayisi 20 && jetonsayisi != 23) { int resim1deger = rnd.Next(0, 5); int resim2deger = rnd.Next(0, 5); int resim3deger = rnd.Next(0, 5); pictureBox1.Image = ımageList1.Images[resim1deger]; pictureBox2.Image = ımageList1.Images[resim2deger]; pictureBox3.Image = ımageList1.Images[resim3deger]; index += 1; resim1 = resim1deger; // timer 1 durdurulur. if (index == 29) { timer1.Stop(); bip(); timer2.Start(); index = 0; } } /* Eğer jeton sayısı 23 ise direk kazandırma kısmım.. Burada kesinkazanan diye bir değere resim1 değerini atadım */ else if (jetonsayisi == 23) { int resim1deger = rnd.Next(0, 30); int resim2deger = rnd.Next(0, 30); int resim3deger = rnd.Next(0, 30); pictureBox1.Image = ımageList1.Images[resim1deger]; pictureBox2.Image = ımageList1.Images[resim2deger]; pictureBox3.Image = ımageList1.Images[resim3deger]; index += 1; resim1 = resim1deger; kesinkazan = resim1deger; if (index == 29) { timer1.Stop(); bip(); timer2.Start(); index = 0; } } } private void timer2_Tick(object sender, EventArgs e) { if (jetonsayisi < 10) // Jeton sayısı 10 dan küçükse ikinci resim bu sefer 10 ile 30 indeks nolular arasından seçiliyor. İlki ilk 10 dan seçildiği için kazanma şansı sıfır.. { int resim2deger = rnd.Next(10, 30); int resim3deger = rnd.Next(0, 30); pictureBox2.Image = ımageList1.Images[resim2deger]; pictureBox3.Image = ımageList1.Images[resim3deger]; index += 1; resim2 = resim2deger; if (index == 29) { timer2.Stop(); bip(); timer3.Start(); index = 0; } } /* Kasadaki para - ise jeton sayısı 10 ve üzeri ise şansı biraz daha artırmıştım.. */ else if (kasadakipara=10) { int resim2deger= rnd.Next (0,30); int resim3deger = rnd.Next (0,30); pictureBox2.Image = ımageList1.Images[resim2deger]; pictureBox3.Image = ımageList1.Images[resim3deger]; index+=1; resim2 = resim2deger; if (index == 29) { timer2.Stop(); bip(); timer3.Start(); index = 0; } } /* Kasadaki para + ise jeton sayısı 10 - 20 ise çalışacak karar mekanizmam */ else if (kasadakipara > 0 && jetonsayisi >= 10 && jetonsayisi 20 && jetonsayisi!=23) { int resim2deger = rnd.Next(0, 5); int resim3deger = rnd.Next(0, 5); pictureBox2.Image = ımageList1.Images[resim2deger]; pictureBox3.Image = ımageList1.Images[resim3deger]; index += 1; resim2 = resim2deger; if (index == 29) { timer2.Stop(); bip(); timer3.Start(); index = 0; } } /* Eğer jeton 23 ise değerşer 30 resim içinde dönsede ilk resim ne geldi ise ikinci resim o gelecek */ else if (jetonsayisi == 23) { int resim2deger = rnd.Next(0, 30); int resim3deger = rnd.Next(0, 30); pictureBox2.Image = ımageList1.Images[resim2deger]; pictureBox3.Image = ımageList1.Images[resim3deger]; index += 1; pictureBox2.Image = ımageList1.Images[kesinkazan]; resim2deger = kesinkazan; resim2 = resim2deger; if (index == 29) { timer2.Stop(); bip(); timer3.Start(); index = 0; } } } private void timer3_Tick(object sender, EventArgs e) { /* Jeton sayısı 10 dan küçükse üçüncü resim bu sefer 0 ile 30 indeks nolular arasından seçiliyor. İlki ilk 10 dan seçildiği için, ikinci de 10 ile 30 arasından seçildiği içinm 3. ne olursa olsun kazanma şansı sıfır.. */ if (jetonsayisi < 10) { int resim3deger = rnd.Next(0, 30); pictureBox3.Image = ımageList1.Images[resim3deger]; index += 1; resim3 = resim3deger; if (index == 29) { timer3.Stop(); sonuckontrol(); index = 0; } } /* Kasadaki para - ise jeton 10 ve üzeri ise şansı biraz daha arttırdım.. Gelen resim kısmını bir nebze daralttım */ else if (kasadakipara < 0 && jetonsayisi >= 10) { int resim3deger = rnd.Next(20, 30); pictureBox3.Image = ımageList1.Images[resim3deger]; index += 1; resim3 = resim3deger; if (index == 29) { timer3.Stop(); sonuckontrol(); index = 0; } } /* Kasa + ise jeton 10 ile 20 arası ise şans biraz daha arttırılıyor */ else if (kasadakipara > 0 && jetonsayisi >= 10 && jetonsayisi 20 && jetonsayisi != 23) { int resim3deger = rnd.Next(0, 5); pictureBox3.Image = ımageList1.Images[resim3deger]; index += 1; resim3 = resim3deger; if (index == 29) { timer3.Stop(); sonuckontrol(); index = 0; } } /* jeton sayısı 23 ise 3. resime ne gelirse gelsin (random değer) 1. resimdeki değer atanıyor. */ else if (jetonsayisi == 23) { int resim3deger = rnd.Next(0, 30); pictureBox3.Image = ımageList1.Images[resim3deger]; index += 1; pictureBox3.Image = ımageList1.Images[kesinkazan]; resim3deger = kesinkazan; resim3 = resim3deger; if (index == 29) { timer3.Stop(); sonuckontrol(); index = 0; } } } private void button2_Click(object sender, EventArgs e) { // bilgileri yazdırma.. jetonsayisi = 0; kasadakipara = 0; label2.Text = jetonsayisi.ToString(); label4.Text = kasadakipara.ToString(); } private void button3_Click(object sender, EventArgs e) { // Kapatma işlemi, uyarı.. DialogResult sonuc; sonuc = MessageBox.Show("Çıkmak istiyor musunuz?", "Uyarı", MessageBoxButtons.OKCancel); if (sonuc == DialogResult.OK) { this.Close(); } } } }
Dosyayı İndir