public override List <Move> calculateMoves() { Bishop b = new Bishop(Color, Position); Rook r = new Rook(Color, Position); List <Move> moves = b.calculateMoves().Union(r.calculateMoves()).ToList(); moves.ForEach(m => m.Figure = this); return(moves); }
public Figure AddFigure(FiguresEnum figure, Position position, Color color) { switch (figure) { case FiguresEnum.Rook: Rook r = new Rook(color, position); Figures.Add(r); return(r); case FiguresEnum.Bishop: Bishop b = new Bishop(color, position); Figures.Add(b); return(b); case FiguresEnum.Queen: Queen q = new Queen(color, position); Figures.Add(q); return(q); case FiguresEnum.King: King k = new King(color, position); Figures.Add(k); return(k); case FiguresEnum.Knight: Knight kn = new Knight(color, position); Figures.Add(kn); return(kn); case FiguresEnum.Pawn: Pawn p = new Pawn(color, position); Figures.Add(p); return(p); default: return(null); } }