JOKER Yarışması — Csharp

JOKER Yarışması — Csharp

Programın nasıl çalıştığı ve kullanılan kodların açıklamalı anlatımı için aşağıdaki videoyu izleyiniz .

[code lang=”csharp”]

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Data.OleDb;

using System.Drawing;//www.gorselprogramlama.com

using System.Linq;

using System.Text;

using System.Media;

using System.Windows.Forms;

namespace kim_milyoner_olmak_ister

{

public partial class Form2 : Form

{

Label[] labelDizi;

Button[] butonDizi;

public Form2()

{

InitializeComponent();

}

public OleDbConnection bag = new OleDbConnection("Provider=Microsoft.Ace.Oledb.12.0;Data Source=data.accdb");

public OleDbCommand kmt = new OleDbCommand();

int[] sayilar = new int[16];

Random r = new Random();

int randomSayac = 0, soruSayac = 1, uretilmeyecekSayac = 0, imlecNerde = 10, jokerSayisi = 0;

string dogruCevap,yarismaciCevap;

int[] uretilmeyecekSayilar = new int[3];

int rastgele = 0, uretilmeyecekSayi = 0, jokerk = 0,dak;

string kazanilan = "";

Boolean durumu = false, radioKontrol = false;

void radioButonlarıGoster()//www.gorselprogramlama.com

{

radioButton1.Visible = true;

radioButton2.Visible = true;

radioButton3.Visible = true;

radioButton4.Visible = true;

}

void radioButonlarıGosterme()//www.gorselprogramlama.com

{

radioButton1.Visible = false;

radioButton2.Visible = false;

radioButton3.Visible = false;

radioButton4.Visible = false;

}

void radioButonlarıSecme()

{

radioButton1.Checked = false;

radioButton2.Checked = false;

radioButton3.Checked = false;

radioButton4.Checked = false;

}

void rastgeleSayi()

{

bag.Open();

kmt.Connection = bag;

kmt.CommandText = "Select count(*) from sorular ";

int kayitSayisi=int.Parse( kmt.ExecuteScalar().ToString());

bag.Close();

int rastgele;

randomSayac = 0;

while (randomSayac < 16)

{

rastgele = r.Next(1, (kayitSayisi+1));//1 ile kayıt sayısı arasında rastgele sayı üretiliyor

if (Array.IndexOf(sayilar, rastgele) == -1) //dizinin içinde aynı sayı yoksa

{

sayilar[randomSayac] = rastgele;

randomSayac++;

}//www.gorselprogramlama.com

}

}

void soruAl(int a)

{

bag.Open();

kmt.Connection = bag;

kmt.CommandText = "Select * from sorular where soruId=" + sayilar[a] ;

OleDbDataReader oku;

oku = kmt.ExecuteReader();

while (oku.Read())

{

label13.Text =soruSayac+" – " + oku[1].ToString();//www.gorselprogramlama.com

radioButton1.Text=oku[2].ToString();

radioButton2.Text=oku[3].ToString();

radioButton3.Text=oku[4].ToString();

radioButton4.Text=oku[5].ToString();

dogruCevap = oku[6].ToString();

}

oku.Dispose();

bag.Close();

}//www.gorselprogramlama.com

void labelArkaPlanRenkSifirla()

{

for (int i = 0; i < 10; i++)

{

labelDizi[i].BackColor = Color.CornflowerBlue;

}

}

void LabelleriOlustur()

{

labelDizi = new Label[10];

for (int i = 0; i < 10; i++)

{

labelDizi[i] = new Label();

}

for (int i = 0; i < labelDizi.Length; i++)

{

if (i==0)

{

labelDizi[i].ForeColor = Color.Red;

labelDizi[i].Text = "500.000";//www.gorselprogramlama.com

}

else if (i == 1)

{

labelDizi[i].ForeColor = Color.Orange;

labelDizi[i].Text = "100.000";

}

else if (i == 2)

{

labelDizi[i].ForeColor = Color.Yellow;

labelDizi[i].Text = "50.000";

}

else if (i == 3)

{

labelDizi[i].ForeColor = Color.Yellow;

labelDizi[i].Text = "20.000";

}

else if (i == 4)

{

labelDizi[i].ForeColor = Color.Yellow;

labelDizi[i].Text = "10.000";

}

else if (i == 5)

{

labelDizi[i].ForeColor = Color.Yellow;

labelDizi[i].Text = "5.000";

}

else if (i == 6)

{

labelDizi[i].ForeColor = Color.Yellow;

labelDizi[i].Text = "2.000";

}

else if (i == 7)

{

labelDizi[i].ForeColor = Color.Yellow;

labelDizi[i].Text = "1.000";

}

else if (i == 8)

{

labelDizi[i].ForeColor = Color.Yellow;

labelDizi[i].Text = "500";

}

else if (i == 9)

{

labelDizi[i].ForeColor = Color.Yellow;

labelDizi[i].Text = "100";

}

labelDizi[i].Font = new Font("Microsoft Sans Serif", 12, FontStyle.Bold);

this.Controls.Add(labelDizi[i]);

labelDizi[i].Location = new Point(600, (55)+i*25);

}

}

void butonOlustur()

{

butonDizi = new Button[10]; //www.gorselprogramlama.com

for (int i = 0; i < butonDizi.Length; i++)

{

butonDizi[i] = new Button();

butonDizi[i].ForeColor = Color.Blue;

butonDizi[i].Text = "JOKER";

butonDizi[i].BackColor = Color.Yellow;

butonDizi[i].Font = new Font("Microsoft Sans Serif", 10, FontStyle.Bold);

butonDizi[i].Click += new EventHandler(islem2);

this.Controls.Add( butonDizi[i]);

butonDizi[i].Location = new Point(50, (55) + i * 25);

}

}

private void islem2(object sender, EventArgs e)

{

if (dogruCevap == radioButton1.Text) uretilmeyecekSayi = 1;

if (dogruCevap == radioButton2.Text) uretilmeyecekSayi = 2;

if (dogruCevap == radioButton3.Text) uretilmeyecekSayi = 3;

if (dogruCevap == radioButton4.Text) uretilmeyecekSayi = 4;

secenekRastgeleSayi();//www.gorselprogramlama.com

if (rastgele == 1) radioButton1.Visible = false;

if (rastgele == 2) radioButton2.Visible = false;

if (rastgele == 3) radioButton3.Visible = false;

if (rastgele == 4) radioButton4.Visible = false;

butonDizi[jokerSayisi].Enabled = false;

jokerSayisi++;

}

void secenekRastgeleSayi()

{

Random r = new Random();

while (true)

{

rastgele = r.Next(1, 5);

if (Array.IndexOf(uretilmeyecekSayilar, rastgele) == -1 && rastgele != uretilmeyecekSayi)

{

uretilmeyecekSayilar[uretilmeyecekSayac] = rastgele;

uretilmeyecekSayac++;//www.gorselprogramlama.com

break;

}

}

}

private void Form2_Load(object sender, EventArgs e)

{

rastgeleSayi();

soruAl(soruSayac);

timer1.Enabled = true;//www.gorselprogramlama.com

dak = 60;

label15.Text = "60";

LabelleriOlustur();//www.gorselprogramlama.com

butonOlustur();

}

private void btnCevapla_Click(object sender, EventArgs e)

{

Array.Clear(uretilmeyecekSayilar, 0, 3);

uretilmeyecekSayac = 0;

dak = 60;

if (jokerSayisi<10) jokerk = 0;

else jokerk = 4;

if (soruSayac <= 15)

{

if (radioButton1.Checked) yarismaciCevap = radioButton1.Text;

if (radioButton2.Checked) yarismaciCevap = radioButton2.Text;

if (radioButton3.Checked) yarismaciCevap = radioButton3.Text;

if (radioButton4.Checked) yarismaciCevap = radioButton4.Text;

if (yarismaciCevap == dogruCevap)

{

if(imlecNerde-1>=0)

{

labelDizi[imlecNerde-1].BackColor = Color.Gray;

kazanilan = labelDizi[imlecNerde – 1].Text.ToString();

if(imlecNerde<10)labelDizi[imlecNerde].BackColor = Color.CornflowerBlue;

imlecNerde–;

}//www.gorselprogramlama.com

}

else

{

if (jokerSayisi < 10 && imlecNerde<=10)

{

for (int i = jokerSayisi; i < jokerSayisi + 4; i++)

{

butonDizi[i].ForeColor = Color.White;

butonDizi[i].Enabled = false;

jokerk++;

if ((jokerSayisi+jokerk)==10)

{

jokerSayisi=jokerSayisi+jokerk;

jokerk = 4 – jokerk;

if (imlecNerde + jokerk <10)

{

labelDizi[imlecNerde].BackColor = Color.CornflowerBlue;

labelDizi[imlecNerde + jokerk].BackColor = Color.Gray;

kazanilan = labelDizi[imlecNerde + jokerk].Text.ToString();//www.gorselprogramlama.com

}

else

{

kazanilan = "0";

label2.Text = String.Format("Kazanılan Para = {0:C0} ", double.Parse(kazanilan));

radioButonlarıGosterme();

label13.Visible = false;

btnCevapla.Visible = false;

btnTekrarOyna.Visible = true;

radioButonlarıGosterme();

labelArkaPlanRenkSifirla();

timer1.Enabled = false;

}

imlecNerde = imlecNerde + jokerk;

durumu = true;

break;//www.gorselprogramlama.com

}

}

if (durumu == false)

{

jokerSayisi = jokerSayisi + 4;

}

}

else

{

if (imlecNerde+jokerk < 10)

{

labelDizi[imlecNerde + jokerk].BackColor = Color.Gray;

kazanilan = labelDizi[imlecNerde + jokerk].Text.ToString();

labelDizi[imlecNerde].BackColor = Color.CornflowerBlue;

imlecNerde = imlecNerde + jokerk;//www.gorselprogramlama.com

}

else

{

if (soruSayac < 14)

{

kazanilan = "0";

label2.Text = String.Format("Kazanılan Para = {0:C0} ", double.Parse(kazanilan));

radioButonlarıGosterme();

label13.Visible = false;

timer1.Enabled = false;

btnCevapla.Visible = false;

btnTekrarOyna.Visible = true;

labelArkaPlanRenkSifirla();

radioKontrol = true;

}

}

}

}

soruSayac++;

if(soruSayac<16) soruAl(soruSayac);

if (soruSayac == 16)

{

label2.Text = String.Format("Sorular bitmiştir.\n Yeni Sorular için Tekrar \n butonuna tıklayınız !\n Kazanılan Para = {0:C0}",double.Parse(kazanilan) );

radioButonlarıGosterme();

label13.Visible = false;

btnCevapla.Visible = false;

btnTekrarOyna.Visible = true;

timer1.Enabled = false;//www.gorselprogramlama.com

labelArkaPlanRenkSifirla();

radioKontrol = true;

}

}

DialogResult cevap;

if (soruSayac ==15)

{

cevap = MessageBox.Show("Yarışmadan çekilmek istiyor musun ?", "Uyarı", MessageBoxButtons.YesNo);

if (cevap == DialogResult.Yes)

{

kazanilan = (double.Parse(kazanilan) / 2).ToString();

label2.Text = String.Format("Kazanılan Para = {0:C0} " ,double.Parse(kazanilan));//www.gorselprogramlama.com

radioButonlarıGosterme();

label13.Visible = false;

btnCevapla.Visible = false;

btnTekrarOyna.Visible = true;

timer1.Enabled = false;//www.gorselprogramlama.com

labelArkaPlanRenkSifirla();

radioKontrol = true;

}

}

if (imlecNerde < 10 && radioKontrol==false) radioButonlarıGoster();

radioButonlarıSecme();

}

private void timer1_Tick(object sender, EventArgs e)

{

if (dak > 0)

{

dak–;

label15.Text = dak.ToString();

}//www.gorselprogramlama.com

else

{

btnCevapla.PerformClick();

}

}

private void btnTekrarOyna_Click(object sender, EventArgs e)

{

btnCevapla.Visible = true;

btnTekrarOyna.Visible = false;

radioButonlarıGoster();

label13.Visible = true;

soruSayac = 1;

rastgeleSayi();

soruAl(soruSayac);

timer1.Enabled = true;

btnCevapla.Enabled = true;

imlecNerde = 10;

jokerSayisi = 0;

jokerk = 0;

durumu = false;

kazanilan = "";

radioKontrol = false;

//www.gorselprogramlama.com

dak = 60;

label2.Text = "";

for (int i = 0; i < 10; i++)

{

butonDizi[i].Enabled = true;

butonDizi[i].ForeColor = Color.Blue;

}

}

private void btnCikis_Click(object sender, EventArgs e)

{

Application.Exit();

}

}

}

//www.gorselprogramlama.com

[/code]

Projeyi İNDİR

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir