public bool mona(int X, int Y, ArrayList arr) { if (Math.Abs(X - KX) <= 1 && Math.Abs(Y - KY) <= 1 && Proverka.witch(X, Y, arr, colore) == -1) { return(true); } return(false); }
public void HOD(int X, int Y, ArrayList arr, PictureBox[,] PB) { PB[KY, KX].Image = pole; PB[Y, X].Image = icon; if (Proverka.isempty(X, Y, arr) == false) { int i = -1; i = Proverka.witch(X, Y, arr, 'W'); if (i == -1) { i = Proverka.witch(X, Y, arr, 'B'); } (arr[i] as Figure).alive = false; } KX = X; KY = Y; }
public bool mona(int X, int Y, ArrayList arr) { if (colore == 'W' && KY == 1 && (Y - KY) == 2 && KX == X && Proverka.isempty(X, Y, arr) && Proverka.isempty(X, Y - 1, arr)) { return(true); } if (colore == 'W' && KX == X && (Y - KY) == 1 && Proverka.isempty(X, Y, arr)) { return(true); } if (colore == 'W' && Math.Abs(X - KX) == 1 && (Y - KY) == 1 && Proverka.isempty(X, Y, arr) == false) { int i = -1; i = Proverka.witch(X, Y, arr, 'W'); if (i == -1) { return(true); } else { return(false); } } if (colore == 'B' && KY == 6 && (KY - Y) == 2 && KX == X && Proverka.isempty(X, Y, arr)) { return(true); } if (colore == 'B' && KX == X && (KY - Y) == 1 && Proverka.isempty(X, Y, arr)) { return(true); } if (colore == 'B' && Math.Abs(X - KX) == 1 && (KY - Y) == 1 && Proverka.isempty(X, Y, arr) == false) { int i = -1; i = Proverka.witch(X, Y, arr, 'B'); if (i == -1) { return(true); } else { return(false); } } return(false); }
public bool mona(int X, int Y, ArrayList arr) { if (X > KX && Y == KY) { int i; for (i = KX + 1; i < X; i++) { if (Proverka.isempty(i, Y, arr) == false) { break; } } if (i == X && Proverka.witch(X, Y, arr, colore) == -1) { return(true); } } if (X < KX && Y == KY) { int i; for (i = X + 1; i < KX; i++) { if (Proverka.isempty(i, Y, arr) == false) { break; } } if (i == KX && Proverka.witch(X, Y, arr, colore) == -1) { return(true); } } if (Y > KY && X == KX) { int i; for (i = KY + 1; i < Y; i++) { if (Proverka.isempty(X, i, arr) == false) { break; } } if (i == Y && Proverka.witch(X, Y, arr, colore) == -1) { return(true); } } if (Y < KY && X == KX) { int i; for (i = Y + 1; i < KY; i++) { if (Proverka.isempty(X, i, arr) == false) { break; } } if (i == KY && Proverka.witch(X, Y, arr, colore) == -1) { return(true); } } return(false); }
public bool mona(int X, int Y, ArrayList arr) { if (Math.Abs(X - KX) == Math.Abs(Y - KY)) { if (X > KX && Y > KY) { int i; for (i = 1; i + KX < X; i++) { if (Proverka.isempty(KX + i, KY + i, arr) == false) { break; } } if (i + KX == X && Proverka.witch(X, Y, arr, colore) == -1) { return(true); } } if (X < KX && Y < KY) { int i; for (i = 1; i + X < KX; i++) { if (Proverka.isempty(KX - i, KY - i, arr) == false) { break; } } if (i + X == KX && Proverka.witch(X, Y, arr, colore) == -1) { return(true); } } if (X > KX && Y < KY) { int i; for (i = 1; i + KX < X; i++) { if (Proverka.isempty(KX + i, KY - i, arr) == false) { break; } } if (i + KX == X && Proverka.witch(X, Y, arr, colore) == -1) { return(true); } } if (X < KX && Y > KY) { int i; for (i = 1; i + X < KX; i++) { if (Proverka.isempty(KX - i, KY + i, arr) == false) { break; } } if (i + X == KX && Proverka.witch(X, Y, arr, colore) == -1) { return(true); } } } return(false); }
public void PBClick(object sender, EventArgs e) { int X = -1; int Y = -1; for (int i = 0; i < 8; i++) { for (int j = 0; j < 8; j++) { if ((sender as PictureBox) == PB[i, j]) { X = j; Y = i; break; } } if (X != -1) { break; } } // MessageBox.Show(X.ToString()); // MessageBox.Show(Y.ToString()); if (faza == false && X != -1) { witch = Proverka.witch(X, Y, arr, hod); if (witch != -1) { faza = true; richTextBox2.Text = "Фаза перемещения фигуры"; Controls.Add(RE); } // arr[witch].vybor(); } else if (faza == true && X != -1) { if (Proverka.mona(X, Y, arr, witch)) { (arr[witch] as Figure).HOD(X, Y, arr, PB); if (hod == 'W') { richTextBox1.Text = "Ход Чёрных"; hod = 'B'; } else { richTextBox1.Text = "Ход Белых"; hod = 'W'; } richTextBox2.Text = "Фаза выбора фигуры"; witch = -1; faza = false; Controls.Remove(RE); for (int i = 0; i < 32; i++) { if ((arr[i] as Figure).name == 'K' && (arr[i] as Figure).alive == false) { if ((arr[i] as Figure).colore == 'W') { MessageBox.Show("Чёрные победили"); } else { MessageBox.Show("Белые победили"); } } } } else { MessageBox.Show("Нельзя сделать такой ход"); } } }