/// <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); }
} // 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); }