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

