public ChessMoveResponse Move(ChessMoveRequest request) { var res = new ChessMoveResponse(); var dict = Utils.GetRequestDict(request.Biz_Content); var chessType = Utils.GetRequestParam <ChessType>(dict, "chesstype"); int index = Utils.GetRequestParam <int>(dict, "index"); int relativeX = Utils.GetRequestParam <int>(dict, "relativex"); int relativeY = Utils.GetRequestParam <int>(dict, "relativey"); var chess = Square.GetChess(chessType, index); chess.MoveTo(new ChessPoint(relativeX, relativeY)); return(res); }
public ChessMoveResponse PostCheckMove(ChessMoveRequest item) { IBoardService boardService = new BoardService(); PiceFactory piceFactory = new PiceFactory(); IChessMoveChecker pice = piceFactory.CreatePice(item.ChessPice); ChessMoveResponse resp = new ChessMoveResponse(); resp.IsAvailable = pice.CheckMove(item.StartPosition, item.DestinationPosition, boardService); if (resp.IsAvailable) { resp.Message = "Message from Backend. Move is available."; } else { resp.Message = "Message from Backend. Move is NOT available."; } return(resp); }