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); }
static void Demo() { var serverUrl = "http://localhost:28310/"; IClient client = new DefaultClient(serverUrl, null, null); var sitReq = new SquareSitRequest() { Biz_Content = Newtonsoft.Json.JsonConvert.SerializeObject(new Dictionary <string, string>() { { "table_id", "1" } }) }; var sitRes = client.Execute(sitReq, "1"); var readyReq = new SquareReadyRequest(); var readyRes = client.Execute(readyReq); var moveReq1 = new ChessMoveRequest() { Biz_Content = Newtonsoft.Json.JsonConvert.SerializeObject(new Dictionary <string, string>() { { "chesstype", ChessType.Cannons.ToString().ToLower() }, { "index", "0" }, { "relativex", "4" }, { "relativey", "2" }, }) }; var moveRes1 = client.Execute(moveReq1); //stories //tom and jerry sit at board 1 //tom ready //jerry ready //board start //var red = new Square("tom"); //var black = new Square("jerry"); //var table = new Table(); //var ing = new Chessing("tom vs jerry at 2018.6.20 17:40"); //table.StartChessing(ing); //ing.Start(true);//at red }
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); }
public ChessMoveResponse Move(ChessMoveRequest request) { return(Utils.TryGetResponse(request, service.Move, UserID)); }