示例#1
0
 public IEnumerable <FigureOnSquare> SortFigures()                          // перебираем фигуры
 {
     foreach (Squares square in Squares.SortSquares())                      // перебираем все клетки
     {
         if (GetFigureOn(square).GetColor() == ChangeColor)                 // если на клетке находитсья фигура цвета который ходит
         {
             yield return(new FigureOnSquare(GetFigureOn(square), square)); // мы возвращаем её
         }
     }
 }
示例#2
0
        private Squares FindEnemyKing()
        {
            Figures enemyking = ChangeColor == Colors.black ? Figures.WKing : Figures.BKing; // определяем цвет вражеского короля

            foreach (Squares square in Squares.SortSquares())                                // перебираем все клетки
            {
                if (GetFigureOn(square) == enemyking)                                        // проверяем искомая фигура равна ли вражескому королю
                {
                    return(square);
                }
            }
            return(Squares.zero);
        }
示例#3
0
 void FindAllMovements()                                  // метод для поиска всех ходов
 {
     AllMovements = new List <FiguresMovements>();        // создаем пустой список
     foreach (FigureOnSquare figs in board.SortFigures()) // перебираем все фигуры на клетках доски того цвета который делает ход
     {
         foreach (Squares to in Squares.SortSquares())    // перебираем все клетки куда можно пойти
         {
             FiguresMovements figm = new FiguresMovements(figs, to);
             if (movement.MovementIsPos(figm)) // проверяем может ли быть выполнен конкретный ход
             {
                 if (!board.IsCheckAftertM(figm))
                 {
                     AllMovements.Add(figm);
                 }
             }
         }
     }
 }