Esempio n. 1
0
        public async Task <JsonResult> onClick(ClickRequest request)
        {
            var result = await Task.Run(() =>
            {
                request.cells = doMove(request);

                return(new
                {
                    cells = request.cells,
                    finish = didFinish(request.cells)
                });
            });

            return(Json(result));
        }
Esempio n. 2
0
        public override Reply Handle(string tag, ClickRequest msg)
        {
            var ctx = "报歉,目前还不能处理您的请求。";
            switch (msg.EventKey.ToUpper()) {
                case "HELP":
                    ctx = HelpText;
                    break;
            }

            var reply = new Reply() {
                Content = ctx,
                CreateTime = DateTime.Now.ToUnixTimestamp(),
                FromUserName = msg.ToUserName,
                MsgId = DateTime.Now.Ticks,
                MsgType = "text",
                ToUserName = msg.FromUserName
            };
            return reply;
        }
Esempio n. 3
0
        public object Handle(Dictionary <string, string> urlParams, string body, ref ISession session)
        {
            ClickRequest request = JsonConvert.DeserializeObject <ClickRequest>(body);

            var button = MouseButton.Left; // default

            switch (request.Button)
            {
            case "1":
                button = MouseButton.Middle;
                break;

            case "2":
                button = MouseButton.Right;
                break;
            }

            this.mouse.Click(button);

            return(null);
        }
Esempio n. 4
0
        public override Reply Handle(string tag, ClickRequest msg)
        {
            var ctx = "报歉,目前还不能处理您的请求。";

            switch (msg.EventKey.ToUpper())
            {
            case "HELP":
                ctx = HelpText;
                break;
            }

            var reply = new Reply()
            {
                Content      = ctx,
                CreateTime   = DateTime.Now.ToUnixTimestamp(),
                FromUserName = msg.ToUserName,
                MsgId        = DateTime.Now.Ticks,
                MsgType      = "text",
                ToUserName   = msg.FromUserName
            };

            return(reply);
        }
Esempio n. 5
0
 public ShortURL RegisterClick(ClickRequest request)
 {
     return((IsIdAvail(request.ShortUrlId)) ? null : _urls[request.ShortUrlId]);
 }
Esempio n. 6
0
        private List <Cell> doMove(ClickRequest request)
        {
            int x = request.row;
            int y = request.column;

            var possibleNeighbors = new List <int[]> {
                new int[2] {
                    x - 1, y
                },
                new int[2] {
                    x, y - 1
                },
                new int[2] {
                    x, y + 1
                },
                new int[2] {
                    x + 1, y
                }
            };

            possibleNeighbors = possibleNeighbors.FindAll(a => {
                var x2 = a[0];
                var y2 = a[1];

                if (!(0 <= x2 && x2 <= 3))
                {
                    return(false);
                }

                if (!(0 <= y2 && y2 <= 3))
                {
                    return(false);
                }

                return(true);
            });

            var emptyNeighbor = possibleNeighbors.Find(a =>
            {
                var x2 = a[0];
                var y2 = a[1];
                return(request.cells[(x2 * 4) + y2].Text == null);
            });

            if (emptyNeighbor == null)
            {
                return(request.cells);
            }

            var myIndex       = ((x * 4) + y);
            var neighborIndex = ((emptyNeighbor[0] * 4) + emptyNeighbor[1]);

            var temp = request.cells[myIndex].Text;

            request.cells[myIndex].Text       = request.cells[neighborIndex].Text;
            request.cells[neighborIndex].Text = temp;

            temp = request.cells[myIndex].Color;
            request.cells[myIndex].Color       = request.cells[neighborIndex].Color;
            request.cells[neighborIndex].Color = temp;

            return(request.cells);
        }