private void TurnAtack(Button button, string colorEnemi, int xEnemi, int yEnemi, int xTurn, int yTurn) { if (FindMtBut(xEnemi, yEnemi).Content != null && (FindMtBut(xEnemi, yEnemi).Content as Ellipse).Stroke.ToString() == colorEnemi && button.Content == null) { coordinate_sending = tempBut.X.ToString() + tempBut.Y.ToString(); FindMtBut(xEnemi, yEnemi).Content = null; CanselBorder(FindMtBut(0, 0)); tempEnimyDELET = FindMtBut(xEnemi, yEnemi).Name[1].ToString() + FindMtBut(xEnemi, yEnemi).Name[2].ToString(); enemi.Remove(enemi.Where(x => x.X == Convert.ToInt32(FindMtBut(xEnemi, yEnemi).Name[1].ToString()) && x.Y == Convert.ToInt32(FindMtBut(xEnemi, yEnemi).Name[2].ToString())).FirstOrDefault()); obj = team.Where(x => x.X == tempBut.X && x.Y == tempBut.Y).FirstOrDefault(); obj.X = Convert.ToInt32(button.Name[1].ToString()); obj.Y = Convert.ToInt32(button.Name[2].ToString()); FindMtBut(xTurn, yTurn).Content = FindMtBut(0, 0).Content; FindMtBut(0, 0).Content = null; tempBut.X = Convert.ToInt32(button.Name[1].ToString()); tempBut.Y = Convert.ToInt32(button.Name[2].ToString()); isUseButt = ""; if (UmovaRamka(1, 1, 2, 2, colorEnemi, '7', '7') || UmovaRamka(1, -1, 2, -2, colorEnemi, '7', '0') || UmovaRamka(-1, 1, -2, 2, colorEnemi, '0', '7') || UmovaRamka(-1, -1, -2, -2, colorEnemi, '0', '0')) { button.BorderBrush = Brushes.Red; button.BorderThickness = new Thickness(3.0); button.Tag = "use"; isUseButt = button.Name; Block("You can attacking enemi", "0", "1"); } else { if (whatTeam) { Block("Waite Black turn", "1", "0"); } else { Block("Waite White turn", "1", "0"); } } } }
private void ShowEnemi(int count, int posX, int posY, Shashka shashkaBE, Shashka shashkaAF, string color) { Shashka shashka = new Shashka(); listButtons.Where(j => j.Name == "P" + (shashkaBE.X).ToString() + (shashkaBE.Y).ToString()).FirstOrDefault().Content = null; listButtons.Where(j => j.Name == "P" + (shashkaAF.X).ToString() + (shashkaAF.Y).ToString()).FirstOrDefault().Content = new Ellipse() { Stroke = (Brush)brush_convert.ConvertFrom(color) }; shashka = enemi.Where(x => x.X == shashkaBE.X && x.Y == shashkaBE.Y).FirstOrDefault(); shashka.X = shashkaAF.X; shashka.Y = shashkaAF.Y; if (count == 7) { listButtons.Where(j => j.Name == "P" + posX.ToString() + posY.ToString()).FirstOrDefault().Content = null; listButtons.Where(j => j.Name == "P" + posX.ToString() + posY.ToString()).FirstOrDefault().Tag = "unuse"; team.Remove(team.Where(x => x.X == posX && x.Y == posY).FirstOrDefault()); } }
void Turn(Button button, string colorEnemi) { //перевіряємо чи є шашка на кнопці або чи вибрана яка інша шашка на полі if (button.Content is Ellipse || listButtons.Find(x => Umova(x, 0, 0, whatTeam)).BorderBrush == Brushes.Red) { //перевірка чи це перша шашка або чи це та вже вибрана шашка if (isUseButt == button.Name || isUseButt == "" && (button.Content as Ellipse).Stroke.ToString() != colorEnemi) { //обираємо шашку якщо вона НЕ вибрана if (button.Tag.ToString() == "unuse") { button.BorderBrush = Brushes.Red; button.BorderThickness = new Thickness(3.0); button.Tag = "use"; isUseButt = button.Name; tempBut.X = Convert.ToInt32(button.Name[1].ToString()); tempBut.Y = Convert.ToInt32(button.Name[2].ToString()); } //якщо вибрана то знімаємо рамку else { CanselBorder(button); isUseButt = ""; } } //перевіряємо чи там не має іншої шашки + перевіряємо чи бажаний хід є в зоні обмеження else { if (Umova(button, 1, 1, whatTeam) && button.Content == null || Umova(button, 1, -1, whatTeam) && button.Content == null) { coordinate_sending = tempBut.X.ToString() + tempBut.Y.ToString(); //повертаємо попередній кнопці тег "не використовується" і обнуляємо CanselBorder(listButtons.Where(x => Umova(x, 0, 0, whatTeam)).FirstOrDefault()); listButtons.Where(x => Umova(x, 0, 0, whatTeam)).FirstOrDefault().Content = null; obj = team.Where(x => x.X == tempBut.X && x.Y == tempBut.Y).FirstOrDefault(); button.Content = obj.form; obj.X = Convert.ToInt32(button.Name[1].ToString()); obj.Y = Convert.ToInt32(button.Name[2].ToString()); tempBut.X = obj.X; tempBut.Y = obj.Y; isUseButt = ""; if (whatTeam) { Block("Waite Black turn", "1", "0"); } else { Block("Waite White turn", "1", "0"); } } else { string swTemp = ""; swTemp = (Convert.ToInt32(button.Name[1].ToString()) - tempBut.X).ToString(); swTemp += (Convert.ToInt32(button.Name[2].ToString()) - tempBut.Y).ToString(); switch (swTemp) { case "22": TurnAtack(button, colorEnemi, 1, 1, 2, 2); break; case "2-2": TurnAtack(button, colorEnemi, 1, -1, 2, -2); break; case "-22": TurnAtack(button, colorEnemi, -1, 1, -2, 2); break; case "-2-2": TurnAtack(button, colorEnemi, -1, -1, -2, -2); break; default: break; } swTemp = ""; } } RefreshXY(team); if (team.Count == 0) { MessageBox.Show("LOOOSSEERRRR!!!"); // CreateDoska(); } else if (enemi.Count == 0) { MessageBox.Show("WInnneeerrr!!"); // CreateDoska(); } } }