Exemplo n.º 1
0
        /// <summary>
        /// Her Bir Taş Oynandığında Eğer Karşı Şahı tehdit Etmişse karşının Yapabileceği Her hamle Denenir ve bu hamleler sonucunda Karşı Şah hala kurtulamıyorsa Şah Mat verilir ..
        /// </summary>
        /// <returns></returns>
        public int İsCheckMate()
        {
            List <Kordinat> TempKord = new List <Kordinat>();
            int             a        = 0;


            if (İsBlack)
            {
                foreach (Tas VARIABLE in ChessBoard.MevcutTaslar)
                {
                    TempKord.Clear();
                    if (!VARIABLE.İsBlack)
                    {
                        foreach (Kordinat item in VARIABLE.KordinatsCanGo)
                        {
                            TempKord.Add((Kordinat)item.Clone());
                        }

                        foreach (Kordinat asd in TempKord)
                        {
                            if (VARIABLE.FakeMove(asd.X, asd.Y))
                            {
                                a += 3;
                            }
                            FillAllCanGoList();
                            FillAttackList();
                        }
                    }
                }
            }

            else

            {
                foreach (Tas VARIABLE in ChessBoard.MevcutTaslar)
                {
                    TempKord.Clear();
                    if (VARIABLE.İsBlack)
                    {
                        foreach (Kordinat item in VARIABLE.KordinatsCanGo)
                        {
                            TempKord.Add((Kordinat)item.Clone());
                        }

                        foreach (Kordinat asd in TempKord)
                        {
                            if (VARIABLE.FakeMove(asd.X, asd.Y))
                            {
                                a += 3;
                            }
                            FillAllCanGoList();
                            FillAttackList();
                        }
                    }
                }
            }


            return(a);
        }
Exemplo n.º 2
0
        } // taşı verilen konuma deneme olarak götürür ve şah tehdit altına giriyormu kontrol eder .!!

        public int İsCheckMate()  //Her Bir Taş Oynandığında Eğer Karşı Şahı tehdit Etmişse karşının Yapabileceği Her hamle Denenir ve bu hamleler sonucunda Karşı Şah hala kurtulamıyorsa Şah Mat verilir ..
        {
            List <Kordinat> TempKord = new List <Kordinat>();
            int             a        = 0;


            if (İsBlack)
            {
                foreach (Tas VARIABLE in Form1.MevcutTaslar)
                {
                    TempKord.Clear();
                    if (!VARIABLE.İsBlack)
                    {
                        foreach (Kordinat item in VARIABLE.KordinatsCanGo)
                        {
                            TempKord.Add((Kordinat)item.Clone());
                        }

                        foreach (Kordinat asd in TempKord)
                        {
                            if (VARIABLE.FakeMove(asd.X, asd.Y))
                            {
                                a += 3;
                            }
                            FillAllCanGoList();
                            FillAttackList();
                        }
                    }
                }
            }

            else

            {
                foreach (Tas VARIABLE in Form1.MevcutTaslar)
                {
                    TempKord.Clear();
                    if (VARIABLE.İsBlack)
                    {
                        foreach (Kordinat item in VARIABLE.KordinatsCanGo)
                        {
                            TempKord.Add((Kordinat)item.Clone());
                        }

                        foreach (Kordinat asd in TempKord)
                        {
                            if (VARIABLE.FakeMove(asd.X, asd.Y))
                            {
                                a += 3;
                            }
                            FillAllCanGoList();
                            FillAttackList();
                        }
                    }
                }
            }


            return(a);
        }