示例#1
0
        public void TransformFigureOnCel(string typeName, bool isWhiteFigure)
        {
            Figure figure = null;

            switch (typeName)
            {
            case "RookFigure":
                figure = new RookFigure(isWhiteFigure, _cell);
                break;

            case "KnightFigure":
                figure = new KnightFigure(isWhiteFigure, _cell);
                break;

            case "BishopFigure":
                figure = new BishopFigure(isWhiteFigure, _cell);
                break;

            case "QueenFigure":
                figure = new QueenFigure(isWhiteFigure, _cell);
                break;
            }

            if (figure == null)
            {
                throw new ChessGameException("Figure for pawn transformation not selected.");
            }
            _cell.Figure = figure;
            CallFigurePropertyChanged();
        }
示例#2
0
        private static Figure CloneFigure(Figure figure, Cell toCell)
        {
            Figure newFigure = new PawnFigure(figure.IsWhite, toCell);

            if (figure is KingFigure)
            {
                newFigure = new KingFigure(figure.IsWhite, toCell);
            }

            if (figure is QueenFigure)
            {
                newFigure = new QueenFigure(figure.IsWhite, toCell);
            }

            if (figure is BishopFigure)
            {
                newFigure = new BishopFigure(figure.IsWhite, toCell);
            }

            if (figure is KnightFigure)
            {
                newFigure = new KnightFigure(figure.IsWhite, toCell);
            }

            if (figure is RookFigure)
            {
                newFigure = new RookFigure(figure.IsWhite, toCell);
            }

            return(newFigure);
        }