public Chess Move(string move) //Pe2e4 { FigureMoving fm = new FigureMoving(move); if (!moves.CanMove(fm)) { return(this); } if (board.IsCheckAfterMove(fm)) { return(this); } Board nextBoard = board.Move(fm); Chess nextChess = new Chess(nextBoard); return(nextChess); }
private bool CanEatKing() { var badKing = FindBadKing(); var moves = new Moves(this); foreach (var item in YieldFigures()) { var fm = new FigureMoving(item, badKing); if (moves.CanMove(fm)) { return(true); } } return(false); }