public void PatchouliKoakumaTest()
        {
            TestGameflow.createGame(out var game, out var you, out var oppo,
                                    new KeyValuePair <int, int>(Koakuma.ID, 1),
                                    new KeyValuePair <int, int>(FireBall.ID, 3),
                                    new KeyValuePair <int, int>(DefaultServant.ID, 3)
                                    );//游戏初始化写的这么复杂干嘛
            for (int i = 0; i < 3; i++)
            {
                game.skipTurnUntil(() => game.currentPlayer == you && you.gem >= game.getCardDefine <FireBall>().cost);
                you.cmdUse(game, you.hand.getCard <FireBall>(), targets: oppo.master);
                you.cmdTurnEnd(game);
            }//先射三发火球
            game.skipTurnUntil(() => game.currentPlayer == you && you.gem >= game.getCardDefine <Koakuma>().cost);
            you.cmdUse(game, you.hand.getCard <Koakuma>(), targets: oppo.master);//使用小恶魔
            DiscoverRequest discoverRequest = game.answers.getRequest <DiscoverRequest>(you.id);

            Assert.NotNull(discoverRequest);                                                    //确实发现
            Assert.True(discoverRequest.cardIdArray.All(id => you.grave.Any(c => c.id == id))); //发现的全是墓地里的卡
            int  cardId = discoverRequest.cardIdArray[0];
            Card card   = you.grave.getCard(cardId);                                            //随便选一张

            you.cmdDiscover(game, cardId);                                                      //选
            Assert.True(you.hand.Contains(card));                                               //确认它在你的手牌里了
            //TODO:落叶,补充各种特殊情况,比如墓地里没有卡,手牌满了,墓地里还有随从
            //game.skipTurnUntil(() => game.currentPlayer == you && you.gem >= game.getCardDefine<Koakuma>().cost);
            //you.cmdUse(game, you.hand.getCard<Koakuma>(), targets: oppo.master);//不射了,直接使用小恶魔
            //you.cmdUse(game, you.hand.getCard<DefaultServant>());
            //you.field[0].die(game);
            //you.cmdUse(game, you.hand.getCard<Koakuma>(), targets: oppo.master);
            game.Dispose();
        }
Beispiel #2
0
        public virtual DiscoveryResponse Discover(DiscoverRequest request)
        {
            var processor = CorePipelineService.GetProcessor(request.ProcessorId);
            var item      = DiscoveryService.Discover(processor.Pipeline, request.Taxonomy);

            return(new DiscoveryResponse()
            {
                Status = ResponseStatus.Success,
                DiscoveryItem = item
            });
        }
        public void PatchouliTheGreatLibraryTest()
        {
            TestGameflow.createGame(out var game, out var you, out var oppo,
                                    new KeyValuePair <int, int>(TheGreatLibrary.ID, 1),
                                    new KeyValuePair <int, int>(FireBall.ID, 20)
                                    );
            game.skipTurnUntil(() => game.currentPlayer == you && you.gem >= game.getCardDefine <TheGreatLibrary>().cost);
            you.cmdUse(game, you.hand.getCard <TheGreatLibrary>());
            DiscoverRequest discoverRequest = game.answers.getRequest <DiscoverRequest>(you.id);

            Assert.NotNull(discoverRequest);
            Assert.True(discoverRequest.cardIdArray.All(id => you.deck.Any(c => c.id == id)));
            int  cardId = discoverRequest.cardIdArray[0];
            Card card   = you.deck.getCard(cardId);

            you.cmdDiscover(game, cardId);
            Assert.True(you.hand.Contains(card));
            game.Dispose();
        }
Beispiel #4
0
        public OpenID()
        {
            node.Activate(new LocalEvents(1, 1));

            var discover = new DiscoverRequest();

            discover.Request(node, DiscoverRequest.Google_Discover_OpenID_Endpoint);

            string realm = "http://www.poweq.com";
            var    auth  = new AuthenticationRequest(discover, realm, "12345678", realm, node);

            auth.PrepareSend();

            /*
             * var reply = node.SendRequest(auth.Request);
             *
             * Console.WriteLine("Begin.");
             * Console.Write(reply.Body.GetPlainText());
             * Console.WriteLine("End.");
             */

            node.BeginSendRequest(auth.Request,
                                  delegate(IAsyncResult result)
            {
                node.EndSendRequest(result);

                var reply = (HttpReply)((RequestAsyncResult)result).Reply;

                Console.WriteLine("Begin.");
                Console.Write(reply.Body.GetPlainText());
                Console.WriteLine("End.");
            }, null);

            return;

            /*
             * var req = new HttpRequest(node);
             * req.Accept.Add("application/xrds+xml");
             * req.Url = "https://www.google.com/accounts/o8/id";
             *
             * int x = 1;
             * for (x = 0; x < 1; x++)
             * {
             *  // node.BeginSendRequest(req, cb, x);
             *
             *  try
             *  {
             *      var reply = node.SendRequest(req);
             *
             *      Console.Write("{0}\r\n{1}", x,
             *          reply.Body.GetPlainText());
             *
             *      var xrds = new XrdsDocument(reply.Body.GetPlainText());
             *
             *      var req2 = new HttpRequest(node);
             *      req2.Accept.Add("application/xrds+xml");
             *      req2.Url = "https://www.google.com/accounts/o8/id";
             *
             *      ServiceElement ser = null;
             *
             *      foreach (var i in xrds.XrdElements)
             *      {
             *          foreach (ServiceElement s in i.Services)
             *          {
             *              ser = s;
             *              break;
             *          }
             *      }
             *
             *      req = new HttpRequest(node);
             *      req.Url = ser.UriElements.FirstOrDefault().Uri.ToString();
             *
             *      var reqLogin = new AuthenticationRequest(req, xrds);
             *
             *      reqLogin.Ns = "http://specs.openid.net/auth/2.0";
             *      reqLogin.ClaimedId = "http://specs.openid.net/auth/2.0/identifier_select";
             *      reqLogin.Indentity = "http://specs.openid.net/auth/2.0/identifier_select";
             *      reqLogin.ReturnTo = "http://wwww.poweq.com";
             *      reqLogin.Realm = "http://wwww.poweq.com";
             *      reqLogin.Mode = "checkid_setup";
             *      reqLogin.AssocHandle = "ABSmpf6DNMw";
             *      reqLogin.PrepareSend();
             *
             *      reply = node.SendRequest(reqLogin.Request);
             *
             *  }
             *  catch (Exception err)
             *  {
             *      Console.ForegroundColor = ConsoleColor.Red;
             *      Console.Write(err.Message);
             *      Console.ResetColor();
             *  }
             *
             * }
             */
            Console.Read();
        }