public Chess1 Moving(string move) { FiguresMovements figm = new FiguresMovements(move); // генерация хода if (!movement.MovementIsPos(figm)) // проверяем возможно ли сделать ход { return(this); // если ход сделать нельзя - позиция не изменяется } if (board.IsCheckAftertM(figm)) // проверяем есть ли шах после хода { return(this); } Board newBoard = board.Moving(figm); // создаём доску после выполнения хода Chess1 newChess = new Chess1(newBoard); // создание шахмат от новой доски return(newChess); }
bool KingEatPos() // короля можно есть { Squares enemyking = FindEnemyKing(); // находим местоположение вражеского короля Movements movements = new Movements(this); // создаем все ходы возможные на доске foreach (FigureOnSquare figs in SortFigures()) // перебираем все фиугуры на доске в список всех фигур { FiguresMovements figm = new FiguresMovements(figs, enemyking); // идём на клетку вражеского короля if (movements.MovementIsPos(figm)) // проверяем можем ли пойти на клетку вражеского короля { return(true); } } return(false); }