Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }