Beispiel #1
0
        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);
        }
Beispiel #2
0
        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
        }
Beispiel #3
0
        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));
 }