Exemple #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);
        }
Exemple #2
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);
        }