private void _MouseDown(object sender, MouseEventArgs e)
        {
            tas t = (tas)sender;

            for (int i = 0; i < 2; i++)
            {
                for (int j = 0; j < 15; j++)
                {
                    if (konumlar[i, j].KonumTas != null)
                    {
                        if (konumlar[i, j].KonumTas.Name == t.Name)
                        {
                            secilenTas = konumlar[i, j].KonumTas;
                            konumlar[i, j].KonumTas = null;
                            break;
                        }
                    }
                }
            }
            kPanel        = (Panel)sender;
            konum         = e.Location;
            surukleme     = true;
            kPanel.Cursor = Cursors.SizeAll;
            //   MessageBox.Show("" + t.Sayisi + "    renk " + t.Rengi);
            // mousedown eventi
        }
Beispiel #2
0
        public void tasat(tas tas, oyuncu oyuncu, k_oyuncu koyuncu)
        {
            // taş atma

            oyuncu.taslari.Remove(tas);
            koyuncu.taslari.Add(tas);
        }
Beispiel #3
0
        public float kontrol2sira(tas tas, oyuncu oyuncu)// sol taraftaki taşın elimdeki taşlara sıralı uyumu olup  olmadığını kontrol eder
        {
            int V  = ara(oyuncu, new tas(tas.Rengi, tas.Sayisi));
            int k  = ara(oyuncu, new tas(tas.Rengi, tas.Sayisi + 1));
            int h  = ara(oyuncu, new tas(tas.Rengi, tas.Sayisi - 1));
            int k2 = ara(oyuncu, new tas(tas.Rengi, tas.Sayisi + 2));
            int h2 = ara(oyuncu, new tas(tas.Rengi, tas.Sayisi - 2));

            if (k == 1 & h == 1 & k2 == 1 & h2 == 1 & V != 1)
            {
                esik += 0.80f;
            }

            else if (k == 1 & h == 1 & V != 0)
            {
                esik += 0.55f;
            }
            else if (k == 1 & k2 == 1)
            {
                esik += 0.55f;
            }
            else if (h == 1 & h2 == 1)
            {
                esik += 0.55f;
            }
            else if (k == 1 || h == 1)
            {
                esik += 0.15f;
            }
            return(esik);
        }
        public void taskontrol()// taşların sıralıya uyumuna göre eşik değeri verir
        {
            for (int i = 0; i < oyuncu.taslari.Count - 1; i++)
            {
                tas kontrol1;
                tas kontrol2;
                kontrol1 = ara(oyuncu, new tas(oyuncu.taslari[i].Rengi, oyuncu.taslari[i].Sayisi + 1));
                kontrol2 = ara(oyuncu, new tas(oyuncu.taslari[i].Rengi, oyuncu.taslari[i].Sayisi - 1));
                tas kontrol11 = ara(oyuncu, new tas(oyuncu.taslari[i].Rengi, oyuncu.taslari[i].Sayisi + 2));
                tas kontrol22 = ara(oyuncu, new tas(oyuncu.taslari[i].Rengi, oyuncu.taslari[i].Sayisi - -2));
                if (kontrol1.Rengi != "o" & kontrol2.Rengi != "o")
                {
                    if (uyumdaara(oyuncu, oyuncu.taslari[i]) == 0)
                    {
                        oyuncu.uyumdakitaslari.Add(oyuncu.taslari[i]);
                    }
                    if (uyumdaara(oyuncu, kontrol1) == 0)
                    {
                        oyuncu.uyumdakitaslari.Add(kontrol1);
                    }
                    if (uyumdaara(oyuncu, kontrol2) == 0)
                    {
                        oyuncu.uyumdakitaslari.Add(kontrol2);
                    }
                }
                else if (kontrol1.Rengi != "o" & kontrol11.Rengi != "o")
                {
                    if (uyumdaara(oyuncu, oyuncu.taslari[i]) == 0)
                    {
                        oyuncu.uyumdakitaslari.Add(oyuncu.taslari[i]);
                    }
                    if (uyumdaara(oyuncu, kontrol1) == 0)
                    {
                        oyuncu.uyumdakitaslari.Add(kontrol1);
                    }
                    if (uyumdaara(oyuncu, kontrol11) == 0)
                    {
                        oyuncu.uyumdakitaslari.Add(kontrol11);
                    }
                }
                else if (kontrol2.Rengi != "o" & kontrol22.Rengi != "o")
                {
                    if (uyumdaara(oyuncu, oyuncu.taslari[i]) == 0)
                    {
                        oyuncu.uyumdakitaslari.Add(oyuncu.taslari[i]);
                    }
                    if (uyumdaara(oyuncu, kontrol2) == 0)
                    {
                        oyuncu.uyumdakitaslari.Add(kontrol2);
                    }
                    if (uyumdaara(oyuncu, kontrol2) == 0)
                    {
                        oyuncu.uyumdakitaslari.Add(kontrol22);
                    }
                }
            }

            string b = "";
        }
Beispiel #5
0
        public int yararmikontrol(tas tas, oyuncu oyuncu)// sistem oyuncuları için eline yarıyor mu diye kontrol etmek
        {
            float t = kontrol1renk(tas, oyuncu);
            float f = kontrol2sira(tas, oyuncu);

            if (t > 0.5 || f > 0.5)
            {
                return(1);
            }
            return(0);
        }
        private void _MouseMove(object sender, MouseEventArgs e)
        {
            if (ortanca.taslari.Count == 0)
            {
                MessageBox.Show("Ortanın Taşları Bitti");
                this.Close();
            }
            if (surukleme)
            {
                tas t = (tas)sender;
                t.Left = e.X + t.Left - (konum.X);
                t.Top  = e.Y + t.Top - (konum.Y);

                if (sirabende = true & tascekebilir == true & t.Left > 550 & t.Top < 300)
                {
                    MessageBox.Show("Taş Çekmelisin");
                    t.Left = 550;
                    t.Top  = 390;
                }
                if (sirabende = true & tascekebilir == false & t.Left > 600 & t.Top < 290)
                {
                    ben.tasat(t, ben, sagalt);
                    surukleme    = false;
                    sirabende    = false;
                    tascekebilir = false;
                    t.Left       = 600;
                    t.Top        = 250;
                    kosacakmi    = 1;
                }
                else if (sirabende = true & tascekebilir == true & t == ortanca.taslari[ortanca.taslari.Count - 1])
                {
                    ortanca.taslari[ortanca.taslari.Count - 1].tasGosterilecekMi = true;
                    ben.tascek(t, ortanca, ben);
                    // t.tasGosterilecekMi = true;
                    tascekebilir = false;
                    sirabende    = true;
                }
                else if (sirabende = true & tascekebilir == true)
                {
                    if (solalt.taslari.Count != 0)
                    {
                        if (t.Name == solalt.taslari[solalt.taslari.Count - 1].Name)
                        {
                            ben.tascek(t, solalt, ben);
                            tascekebilir = false;
                        }
                    }
                }
            }


            label5.Text = Convert.ToString(ortanca.taslari.Count);
        }
        public tas ara(oyuncu oyuncu, tas tas)
        {
            tas varolan = new tas("o", 61);

            for (int i = 0; i < oyuncu.taslari.Count - 1; i++)
            {
                if (oyuncu.taslari[i].Rengi == tas.Rengi & tas.Sayisi == oyuncu.taslari[i].Sayisi)
                {
                    varolan = oyuncu.taslari[i];
                }
            }
            return(varolan);
        }
Beispiel #8
0
        public int uyumdantas(tas tas)
        {
            int kontrol = 0;

            for (int i = 0; i < oyuncu.uyumdakitaslari.Count; i++)
            {
                if (oyuncu.uyumdakitaslari[i].Rengi == tas.Rengi & oyuncu.uyumdakitaslari[i].Sayisi == tas.Sayisi)
                {
                    kontrol = 1;
                }
            }
            return(kontrol);
        }
        public int uyumdaara(oyuncu oyuncu, tas tas)
        {
            int varolan = 0;

            for (int i = 0; i < oyuncu.uyumdakitaslari.Count - 1; i++)
            {
                if (oyuncu.uyumdakitaslari[i].Rengi == tas.Rengi & tas.Sayisi == oyuncu.uyumdakitaslari[i].Sayisi)
                {
                    varolan = 1;
                }
            }
            return(varolan);
        }
Beispiel #10
0
        private int ara(oyuncu oyuncu, tas tas)
        {
            int donecek = 0;

            for (int i = 0; i < oyuncu.taslari.Count; i++)
            {
                if (oyuncu.taslari[i].Rengi == tas.Rengi & oyuncu.taslari[i].Sayisi == tas.Sayisi)
                {
                    donecek = 1;
                    break;
                }
            }
            return(donecek);
        }
Beispiel #11
0
        public float kontrol1renk(tas tas, oyuncu oyuncu)// oyuncunun soluna atılan taşın eline renge göre yarayıp
        // yaramadığını kontrol eder
        {
            int h1 = 0;
            int h2 = 0;
            int h3 = 0;

            if (tas.Rengi == "yeşil")
            {
                h1 = ara(oyuncu, new tas("mavi", tas.Sayisi));
                h2 = ara(oyuncu, new tas("siyah", tas.Sayisi));
                h3 = ara(oyuncu, new tas("kırmızı", tas.Sayisi));
            }

            else if (tas.Rengi == "mavi")
            {
                h1 = ara(oyuncu, new tas("yeşil", tas.Sayisi));
                h2 = ara(oyuncu, new tas("siyah", tas.Sayisi));
                h3 = ara(oyuncu, new tas("kırmızı", tas.Sayisi));
            }
            else if (tas.Rengi == "siyah")
            {
                h1 = ara(oyuncu, new tas("yeşil", tas.Sayisi));
                h2 = ara(oyuncu, new tas("mavi", tas.Sayisi));
                h3 = ara(oyuncu, new tas("kırmızı", tas.Sayisi));
            }
            if (tas.Rengi == "kırmızı")
            {
                h1 = ara(oyuncu, new tas("yeşil", tas.Sayisi));
                h2 = ara(oyuncu, new tas("mavi", tas.Sayisi));
                h3 = ara(oyuncu, new tas("siyah", tas.Sayisi));
            }

            if (h1 == 1 & h2 == 1 & h3 == 1)
            {
                esik += 80f;
            }

            else if (h1 == 1 & h2 == 1 || h3 == 1 & h2 == 1 || h1 == 1 & h3 == 1)
            {
                esik += 0.55f;
            }
            else if (h1 == 1 || h2 == 1 || h3 == 1)
            {
                esik += 0.15f;
            }

            return(esik);
        }
Beispiel #12
0
 public void bubble_sort()
 {
     for (int i = 0; i < oyuncu.taslari.Count - 1; i++)
     {
         for (int j = 1; j < oyuncu.taslari.Count - i; j++)
         {
             if (oyuncu.taslari[j].Sayisi < oyuncu.taslari[j - 1].Sayisi)
             {
                 tas gecici = oyuncu.taslari[j - 1];
                 oyuncu.taslari[j - 1] = oyuncu.taslari[j];
                 oyuncu.taslari[j]     = gecici;
             }
         }
     }
 }
Beispiel #13
0
        public tas enazyarayantas()
        {
            tas   tas  = oyuncu.taslari[0];
            float esik = 10f;

            for (int i = 0; i < oyuncu.taslari.Count - 1; i++)
            {
                if (oyuncu.taslari[i].esik < esik & uyumdantas(oyuncu.taslari[i]) == 0)
                {
                    tas  = oyuncu.taslari[i];
                    esik = oyuncu.taslari[i].esik;
                }
            }

            return(tas);
        }
 private void olustur()
 {
     for (int h = 0; h < 2; h++)
     {
         for (int k = 0; k < 4; k++)
         {
             for (int i = 1; i <= 13; i++)
             {
                 tas tas = new tas(renkdizisi[k], i);
                 taslar.Add(tas);
                 tas.MouseDown += new MouseEventHandler(_MouseDown);
                 tas.MouseMove += new MouseEventHandler(_MouseMove);
                 tas.MouseUp   += new MouseEventHandler(_MouseUp);
             }
         }
     }
 }
        public void tasoyna()
        {
            kontroller k = new kontroller(oyuncu);
            tascek     t = new tascek(oyuncu);
            tas        tas;
            int        h = 0;

            if (koyuncuonce.taslari.Count != 0)
            {
                tas = koyuncuonce.taslari[koyuncuonce.taslari.Count - 1];

                h = t.yararmikontrol(tas, oyuncu);
                if (h == 0)
                {
                    if (ortanca.taslari.Count == 0)
                    {
                        this.Close();
                        MessageBox.Show("Ortanın Taşları Bitti");
                        this.Close();
                    }
                    else
                    {
                        oyuncu.tascek(ortanca.taslari[0], ortanca, oyuncu);
                        for (int i = 0; i < oyuncu.taslari.Count - 1; i++)
                        {
                            oyuncu.taslari[i].esik = 0;
                        }
                        if (oyuncu == sistem1)
                        {
                            while (ortanca.taslari[0].Left < 600)
                            {
                                ortanca.taslari[0].Left += 2;
                            }
                        }
                        if (oyuncu == sistem2)
                        {
                            while (ortanca.taslari[0].Top > 75)
                            {
                                ortanca.taslari[0].Top -= 2;
                            }
                        }
                        if (oyuncu == sistem3)
                        {
                            while (ortanca.taslari[0].Left > 300)
                            {
                                ortanca.taslari[0].Left -= 2;
                            }
                        }


                        ıstakalık ı   = new ıstakalık(oyuncu);
                        int       hsd = ı.dos();

                        int sad = hsd;
                        ortanca.taslari[0].tasGosterilecekMi = true;
                        oyunpaneli.Controls.Remove(ortanca.taslari[0]);
                        ortataslar();


                        k.dusunenoyuncu(oyuncu);
                        bitmekontrolu bt       = new bitmekontrolu(oyuncu);
                        Boolean       bittinmi = bt.bitebilirmikontrol();
                        if (bittinmi == true)
                        {
                            Form3 f = new Form3();
                            MessageBox.Show(oyuncu.Adi + " " + oyuncu.Numara + " elini bitirdi");

                            f.Show();
                            this.Close();
                        }
                    }
                }
            }
            if (h != 0)
            {
                oyuncu.tascek(koyuncuonce.taslari[koyuncuonce.taslari.Count - 1], koyuncu, oyuncu);

                k.dusunenoyuncu(oyuncu);
                bitmekontrolu bt       = new bitmekontrolu(oyuncu);
                Boolean       bittinmi = bt.bitebilirmikontrol();
                if (bittinmi == true)
                {
                    Form3 f = new Form3();
                    MessageBox.Show(oyuncu.Adi + " " + oyuncu.Numara + " elini bitirdi");

                    f.Show();
                    this.Close();
                }
            }



            tasat tasat          = new tasat(oyuncu);
            tas   EnazYarayanTas = tasat.enazyarayantas();

            oyuncu.tasat(EnazYarayanTas, oyuncu, koyuncu);
        }
        private void _MouseUp(object sender, MouseEventArgs e)
        {
            if (kosacakmi == 1)
            {
                kostur();
                kosacakmi = 0;
            }
            tas[,] liste = new tas[14, 14];
            int satır = 0, sutun = 0;


            tas       t  = (tas)sender;
            int       x  = 170;
            int       y  = 340;
            Rectangle r1 = new Rectangle(t.Left, t.Top, 35, 50);

            for (int i = 0; i < 2; i++)
            {
                for (int j = 0; j < 15; j++)
                {
                    Rectangle r2 = new Rectangle(x, y, 35, 50);

                    if (r1.IntersectsWith(r2))
                    {
                        konumlar[i, j].KonumTas = t;
                        t.Left = x;
                        t.Top  = y;
                        //  MessageBox.Show("x :"+x+" y :"+y +"\n i :"+i +" j :"+j);
                        break;
                    }
                    x += 37;
                }
                x  = 170;
                y += 55;
            }
            if (t.Left < 50 && t.Top < 50)
            {
                ben.uyumlutassayisi = 0;
                for (int i = 0; i < 2; i++)
                {
                    for (int j = 0; j < 15; j++)
                    {
                        if (konumlar[i, j].KonumTas != null)
                        {
                            liste[satır, sutun] = konumlar[i, j].KonumTas;
                            sutun++;
                        }
                        else
                        {
                            if (sutun != 0)
                            {
                                satır++;
                                sutun = 0;
                            }
                        }
                    }
                }

                int [] dizi    = new int [14];
                int    yesler  = 0;
                int    kontrol = 0;
                int    perler  = 0;
                for (int i = 0; i < 14; i++)
                {
                    List <tas> per = new List <tas>();
                    for (int j = 0; j < 14; j++)
                    {
                        if (liste[i, j] != null)
                        {
                            per.Add(liste[i, j]);
                            //   MessageBox.Show("liste " + i + liste[i, j].Name);
                        }
                    }
                    perler++;
                    kontroller k    = new kontroller(ben);
                    int        bak1 = k.sirakontrol(per);
                    int        bak2 = k.renkkontrol(per);
                    if (bak1 == 1 || bak2 == 1)
                    {
                        kontrol = 1;
                    }
                    else
                    {
                        kontrol = -1;
                        break;
                    }
                }


                if (kontrol == -1)
                {
                    MessageBox.Show("Eliniz bitik Değil");
                    t.Left = 230;
                    t.Top  = 350;
                }
                else
                {
                    kontroller ek = new kontroller(ben);
                    ek.Bitir();
                }
            }



            surukleme     = false;//bırakma
            kPanel.Cursor = Cursors.SizeAll;
        }
Beispiel #17
0
 public void tascek(tas tas, k_oyuncu koyuncu, oyuncu oyuncu)//taş çekme
 {
     oyuncu.taslari.Add(tas);
     koyuncu.taslari.Remove(tas);
 }
        private void dagıt()
        {
            int kontrol = 1;
            int s       = 1;

            while (s != 103)
            {
                Random r       = new Random();//üret
                int    cikacak = r.Next(1, 103);

                //ara bak var mı içinde
                for (int i = 0; i < cikanlar.Length; i++)
                {
                    if (cikanlar[i] == cikacak)
                    {
                        kontrol = 0; // varsa bırak tekrar üret
                        continue;
                    }
                }
                if (kontrol == 1)
                {
                    // yoksa ekle tutulan taşı birine şutla
                    if (s <= 15)
                    {
                        // Oyuncu taşı

                        ben.taslari.Add(taslar[cikacak]);
                    }
                    else if (15 < s & s <= 29)
                    {
                        sistem1.taslari.Add(taslar[cikacak]);
                        Console.Write("sistem1 taşi : " + taslar[cikacak]);
                    }
                    else if (29 < s & s <= 43)
                    {      // taşlari dağıt
                        sistem2.taslari.Add(taslar[cikacak]);
                        Console.Write("sistem2 taşi : " + taslar[cikacak]);
                    }
                    else if (43 < s & s <= 57)
                    {
                        sistem3.taslari.Add(taslar[cikacak]);
                        Console.Write("sistem3 taşi : " + taslar[cikacak]);
                    }
                    else
                    {
                        ortanca.taslari.Add(taslar[cikacak]);
                        Console.Write("yer taşi : " + taslar[cikacak]);
                    }
                    cikanlar[s] = cikacak;

                    s++;
                    kontrol = 1;
                }
                else
                {
                    kontrol = 1;
                }
            }

            gosterge = ortanca.taslari[0];
            ortanca.taslari.Remove(ortanca.taslari[0]);
            okey = new tas(gosterge.Rengi, gosterge.Sayisi + 1);
            gkuyuekle();
            sirabende    = true;
            tascekebilir = false;
            string fs = "bakalım";
        }
 public konum()
 {
     konumTas = null;
 }
Beispiel #20
0
 public void pereekle(tas tas)
 {
     pers.Add(tas);
 }