Пример #1
0
        internal void AynisiVarsaCiftOlarakAtVeyaElindeTut(Kart cekilenKart)
        {
            bool bulundu    = false;
            int  bulunanKey = -1;

            foreach (int key in this.Kartlar.Keys)
            {
                Kart destedekiKart = this.Kartlar[key];
                //Ayni kart var
                //at
                if (destedekiKart.KartNo == cekilenKart.KartNo)
                {
                    bulunanKey = key;
                    bulundu    = true;
                    continue;
                }
            }
            //eger cfit bulunmadiysa desteye ekle
            if (bulundu)
            {
                Debug.WriteLine("Oyuncu " + OyuncuNo + " cektigi  " + cekilenKart.KartNo + "-" + cekilenKart.KartTipi + " kartini " + Kartlar[bulunanKey].KartNo + "-" + Kartlar[bulunanKey].KartTipi + " ile atti ");
                KartAt(cekilenKart, acikPanel);
                KartAt(Kartlar[bulunanKey], acikPanel);
                Application.DoEvents();
                this.Kartlar.Remove(bulunanKey);
            }
            else
            {
                this.Kartlar.Add(this.Kartlar.Keys.Max() + 1, cekilenKart);
                Debug.WriteLine("Oyuncu " + OyuncuNo + " cektigi karti " + cekilenKart.KartNo + "-" + cekilenKart.KartTipi + " elinde tuttu ");
            }
        }
Пример #2
0
        void BilgisayarOyna()
        {
            Debug.WriteLine("Bilgisayar oynuyor " + OyuncuNo);

            Kart cekilenKart = OncekiOyuncudanKartCek(KatildigiOyun.Oyuncular[OyuncuNoBul.Onceki(OyuncuNo)]);

            AynisiVarsaCiftOlarakAtVeyaElindeTut(cekilenKart);
            Debug.WriteLine("Oyuncu " + OyuncuNo + " kalan kart sayisi = " + Kartlar.Count);
        }
Пример #3
0
        internal void InsanOyna(Kart kart)
        {
            Debug.WriteLine("Insan oynuyor " + OyuncuNo);
            Kart cekilenKart = kart;

            AynisiVarsaCiftOlarakAtVeyaElindeTut(cekilenKart);
            Debug.WriteLine("Oyuncu " + OyuncuNo + " kalan kart sayisi = " + Kartlar.Count);

            KatildigiOyun.SonrakiOyuncuOyna();
        }
Пример #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="key">Dictionary de key gerekli </param>
        /// <param name="kartTipi"></param>
        static void KartTipiOlustur(int key, KartTipi kartTipi)
        {
            int startKey = key;

            for (int i = 1; i <= 12; i++)
            {
                Kart kart = new Kart(kartTipi, i);
                Deste.Add(key, kart);
                key++;
            }
        }
Пример #5
0
        internal void KartAt(Kart kart, Panel panel)
        {
            Kart k = kart;

            KartControl kartControl = new KartControl();

            kartControl.Kart = k;
            kartControl.Left = panel.Controls.Count * (kartControl.Width - 10);
            kartControl.Show();
            panel.Controls.Add(kartControl);
            kartControl.BringToFront();
        }
Пример #6
0
 Kart OncekiOyuncudanKartCek(Oyuncu oncekiOyuncu)
 {
     if (oncekiOyuncu.Kartlar.Count > 0)
     {
         int  rastgeleKart = R.Next(1, oncekiOyuncu.Kartlar.Count);
         Kart kart         = oncekiOyuncu.KartAl(rastgeleKart);
         return(kart);
     }
     else
     {
         return(null);
     }
 }
Пример #7
0
        internal Kart KartAl(int rastgeleKart)
        {
            int i = 1;

            foreach (int key in Kartlar.Keys)
            {
                if (i == rastgeleKart)
                {
                    Kart verilenKart = Kartlar[key];
                    Kartlar.Remove(key);
                    return(verilenKart);
                }
                i++;
            }
            return(null);
        }
Пример #8
0
        internal void KapaliKartlariDiz(Panel panel)
        {
            panel.Controls.Clear();
            int aktifLeft = 0;

            foreach (int key in this.Kartlar.Keys)
            {
                Kart k = this.Kartlar[key];

                KartControl kartControl = new KartControl();
                kartControl.KartKey             = key;
                kartControl.Kart                = k;
                kartControl.Left                = aktifLeft;
                kartControl.OyuncuNo            = this.OyuncuNo;
                kartControl.IcindeBulunduguOyun = this.KatildigiOyun;

                if (OyuncuNo != 1)
                {
                    kartControl.Close();
                }
                else
                {
                    kartControl.Show();
                }
                panel.Controls.Add(kartControl);
                kartControl.BringToFront();
                if (OyuncuNo != 1)
                {
                    aktifLeft += 20;
                }
                else
                {
                    aktifLeft += kartControl.Width;
                }
            }
            Application.DoEvents();
        }