예제 #1
0
 public FigureMoving(FigureOnSquare fs, Square to, Figure promotion = Figure.none)
 {
     this.figure    = fs.figure;
     this.from      = fs.square;
     this.to        = to;
     this.promotion = promotion;
 }
예제 #2
0
 public FigureMoving(FigureOnSquare fs, Square to, Figure promotion = Figure.None)
 {
     Figure    = fs.Figure;
     From      = fs.Square;
     To        = to;
     Promotion = promotion;
 }
예제 #3
0
 public FigureMoving(FigureOnSquare figureOnSquare, Square to, Figure promotion = Figure.none)
 {
     Figure    = figureOnSquare.Figure;
     From      = figureOnSquare.Square;
     To        = to;
     Promotion = promotion;
 }
예제 #4
0
        }                                             //вспомогательное поле для преврящяющейся пешки в другую фигуру

        // Конструктор что приходит, куда, в какую фигуру превратились или не превратились
        public FigureMoving(FigureOnSquare fs, Square to, Figure promotion = Figure.none)
        {
            this.figure    = fs.figure; // какая была фигура
            this.from      = fs.square; //откуда пришла фигура
            this.to        = to;        //куда пошла
            this.promotion = promotion; // во что превратилась
        }
예제 #5
0
        bool CanKingGo(Square fl, Board board)
        {
            Moves          moves = new Moves(board);
            FigureOnSquare fs    = new FigureOnSquare(moveColor == Color.white ? Figure.whiteKing : Figure.blackKing, fl);

            foreach (Square to in Square.YieldSquares())
            {
                FigureMoving fm = new FigureMoving(fs, to);
                if (moves.CanMove(fm))
                {
                    return(true);
                }
            }
            return(false);
        }