示例#1
0
 //Проверка, может ли ходить фигура
 bool CanMoveTo()
 {
     // Фигура на доске
     return(fm.to.OnBoard() &&
            // Ход сделан не в исходную клетку
            Square.NoEqualsSquare(fm.from, fm.to) &&
            // Цвет фигуры имеет право на ход
            board.GetFigureAt(fm.to).GetColor() != board.moveColor);
 }
示例#2
0
        public bool IsDrawSet()
        {
            int countFigures = 0;

            IsDraw = false;
            foreach (Square square in Square.YieldBoardSquares())
            {
                if (countFigures > 2)
                {
                    return(false);
                }
                Figure figure = board.GetFigureAt(square);
                if (figure != Figure.none)
                {
                    countFigures++;
                }
            }
            if (countFigures == 2)
            {
                IsDraw = true;
                return(true);
            }
            return(false);
        }
示例#3
0
 bool CanMoveTo()
 {
     return(fm.to.OnBoard() &&
            fm.from != fm.to &&
            board.GetFigureAt(fm.to).GetColor() != board.moveColor);
 }
示例#4
0
文件: Moves.cs 项目: 0gIH04KA/MyChess
 /// <summary>
 ///
 /// метод который описывает возможность движения фигуры с клетки
 ///
 /// </summary>
 ///
 /// <returns>
 ///
 /// возвращает логическое значение может ли данная фигура совершить ход с этой клетки
 ///
 /// </returns>
 private bool CanMoveTo()
 {
     return(_figureMoving.From.OnBoard() &&
            _figureMoving.FigurE.GetColor() == _board.MoveColor &&
            _board.GetFigureAt(_figureMoving.From) == _figureMoving.FigurE);
 }
示例#5
0
 bool CanMoveFrom()
 {
     return(fm.from.OnBoard() &&
            fm.figure.GetColor() == board.moveColor &&
            board.GetFigureAt(fm.from) == fm.figure);
 }