/// <summary> /// /// проверка возможности следующего хода /// /// </summary> /// /// <param name="move"> /// /// строковое представление хода /// /// </param> /// /// <returns> /// /// возвращаем новую доску с текущим ходом /// /// </returns> public Chess Move(string move) { FigureMoving figureMoving = new FigureMoving(move); /// <summary> /// /// если нельзя совершить указаный ход /// /// </summary> /// /// <returns> /// /// возвращаем текущее расположение шахмат /// /// </returns> if (!_moves.CanMove(figureMoving)) { return(this); //ToDo : add new exception данный ход не возможен!! } if (_board.IsCheckAfter(figureMoving)) { return(this);//ToDo : add new exception данный ход не возможен, IsCheck!! } Board nextBoard = _board.Move(figureMoving); Chess nextChess = new Chess(nextBoard); return(nextChess); }
public Chess Move(string move) { if (!IsValidMove(move)) { return(this); } FigureMoving fm = new FigureMoving(move); Board nextBoard = board.Move(fm); Chess nextChess = new Chess(nextBoard); return(nextChess); }
public Chess Move(string move) { var fm = new FigureMoving(move); if (!IsValidMove(fm)) { return(this); } var nextBoard = Board.Move(fm); return(new Chess(nextBoard)); }
public Chess Move(string move) // Pe2e4 Pe7e8Q { 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); }
// Принимает ход в виде Pe2e4 Pe7e8Q public Chess Move(string move) { 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); }
public Chess Move(string move) { if (!isValidMove(move)) { return(this); } FigureMoving fm = new FigureMoving(move); if (!moves.CanMove(fm)) { return(this); } if (board.IsCheckAfter(fm)) { return(this); } Board nextBoard = board.Move(fm); Chess nextChess = new Chess(nextBoard); return(nextChess); }