/// <summary> /// /// перебор всех фигур текущего игрока которые могут совершить ход на игровой доске /// /// </summary> /// /// <returns> /// /// возвращает все фигуры которые могут совершть ход /// /// </returns> public IEnumerable <string> YieldValidMoves() { foreach (FigureOnSquare figureOnSquare in _board.YieldFiguresOnSquare()) { foreach (Square to in Square.YieldBoardSquare()) { foreach (Figure promotion in figureOnSquare.FigurE.YeldPromotions(to)) { FigureMoving figureMoving = new FigureMoving(figureOnSquare, to, promotion); if (_moves.CanMove(figureMoving)) { if (!_board.IsCheckAfter(figureMoving)) { yield return(figureMoving.ToString()); } } } } } }