Nis
5
2012

C#’da Poker Oyunu


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;
using System.Collections;

namespace POKER_OYUNU
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        ArrayList kartlar = new ArrayList();
        string[] kartTur = new string[] { "Maça","Karo", "Sinek", "Kupa" };
        string[] kartNo = new string[] { "As", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Vale", "Kız", "Papaz" };
        Random rasgele = new Random();
        ArrayList oyuncu1deger = new ArrayList();
        ArrayList oyuncu2deger = new ArrayList();
        ArrayList oyuncu3deger = new ArrayList();
        ArrayList oyuncu4deger = new ArrayList();
        int sayac = 0;
        string yazi;
        void yazdirma()
        {
            // Sayaç durumuna göre oyuncuların ellerindeki kartların durumu yazdırılıyor..
            if (sayac == 0)
            {
                yazi = "Elinizde bir Şey yok";
            }
            if (sayac == 1)
            {
                yazi = "Elinizde ikili var";
            }
            if (sayac == 2)
            {
                yazi = "Elinizde üçlü var";
            }
            if (sayac == 3)
            {
                yazi = "Elinizde dörtlü var";
            }
            if (sayac == 4)
            {
                yazi = "Elinizde beşli var";
            }
        }
        private void button1_Click(object sender, EventArgs e)
       {
            // listboxlar temizleniyor..
            listBox1.Items.Clear();
            listBox2.Items.Clear();
            listBox3.Items.Clear();
            listBox4.Items.Clear();
            label5.Text = "";
            label6.Text = "";
            label7.Text = "";
            label8.Text = "";
            kartlar.Clear();
            //kartlar oluşturuluyor..
            for (int i = 0; i < kartTur.Length; i++)
            {
                for (int x = 0; x < kartNo.Length; x++)
                {
                    string gelenkart = kartTur[i] + "-" + kartNo[x];
                    kartlar.Add(gelenkart);
                }
            }
            // oyuncu 1 için kartlar oluşturuluyor, remove AT ile gelen kart bir daha gelmesin diye kaldırılıyor..
            for (int i = 0; i < 5; i++)
            {
                int gidenkart = rasgele.Next(0, kartlar.Count);
                listBox1.Items.Add(kartlar[gidenkart]);
                kartlar.RemoveAt(gidenkart);
            }
            // oyuncu 2 için kartlar oluşturuluyor, remove AT ile gelen kart bir daha gelmesin diye kaldırılıyor..
            for (int i = 0; i < 5; i++)
            {
                int gidenkart = rasgele.Next(0, kartlar.Count);
                listBox2.Items.Add(kartlar[gidenkart]);
                kartlar.RemoveAt(gidenkart);
            }
            // oyuncu 3 için kartlar oluşturuluyor, remove AT ile gelen kart bir daha gelmesin diye kaldırılıyor..

            for (int i = 0; i < 5; i++)
            {
                int gidenkart = rasgele.Next(0, kartlar.Count);
                listBox3.Items.Add(kartlar[gidenkart]);
                kartlar.RemoveAt(gidenkart);
            }
            // oyuncu 4 için kartlar oluşturuluyor, remove AT ile gelen kart bir daha gelmesin diye kaldırılıyor..

            for (int i = 0; i < 5; i++)
            {
                int gidenkart = rasgele.Next(0, kartlar.Count);
                listBox4.Items.Add(kartlar[gidenkart]);
                kartlar.RemoveAt(gidenkart);
            }
        }
        private void button2_Click(object sender, EventArgs e)
        {
            DialogResult sonuc;
            sonuc = MessageBox.Show("Çıkmak İstediğinizden Eminmisiniz?", "Uyarı", MessageBoxButtons.OKCancel);
            {
                if (sonuc == DialogResult.OK)
                {
                    Application.Exit();
                }
            }
        }
        private void button3_Click(object sender, EventArgs e)
        {
            // Oyuncunun ellerindeki kartlar kontrol ediliyor..
            {
                foreach (string item in listBox1.Items)  // oyuncu 1 için;
                {
                    string[] dizi = item.Split('-');     // kartları - işaretine göre ayırıyorum, ikinci kısmı index 1 oluyor, ayrı bir diziye alıyorum.
                    if (oyuncu1deger.Contains(dizi[1]))  // dizideki elemanı önceden tanımladığım dizi içinde arıyorum, burada ilk elemanı hemen diziye atmıyorum, çünkü kendisinden sonraki ile kıyaslanması gerekiyor.
                    {
                        sayac++;                         // eğer içeriyor ise sayaç++
                    }
                    oyuncu1deger.Add(dizi[1]);           // dizinin elemanının, kıyaslayacağım diziye eklenmesi..
                }
                yazdirma();                              //methodumu çağırıyorum..
                label5.Text = yazi;                      // methodumdaki yapıya göre yazı değişkenine ne geldi ise, ilgili alana yazdırıyorum.

                sayac = 0;                               // yeni dağıtım için sıfırlama işlemim, hem dizi hem sayaç.. Aynı şekilde diğer oyuncular içinde aşağıdaki işlemler bu şekilde yapılıyor.
                oyuncu1deger.Clear();
            }
            {
                foreach (string item in listBox2.Items)
                {
                    string[] dizi = item.Split('-');
                    if (oyuncu2deger.Contains(dizi[1]))
                    {
                        sayac++;
                    }
                    oyuncu2deger.Add(dizi[1]);
                }
                yazdirma();
                label6.Text = yazi;
                sayac = 0;
                oyuncu2deger.Clear();
            }
            {
               foreach (string item in listBox3.Items)
                {
                    string[] dizi = item.Split('-');
                    if (oyuncu3deger.Contains(dizi[1]))
                    {
                        sayac++;
                    }
                    oyuncu3deger.Add(dizi[1]);
                }
                yazdirma();
                label7.Text = yazi;
                sayac = 0;
                oyuncu3deger.Clear();
            }
            {
                foreach (string item in listBox4.Items)
                {
                    string[] dizi = item.Split('-');
                    if (oyuncu4deger.Contains(dizi[1]))
                    {
                        sayac++;
                    }
                    oyuncu4deger.Add(dizi[1]);
                }
                yazdirma();
                label8.Text = yazi;
                sayac = 0;
                oyuncu4deger.Clear();
            }
        }
    }
}

Dosyayı İndir

Yorum Bırakın

*

Cansu AYVAZ GÜVEN