Example #1
0
        static void Main(string[] args)
        {
            RequestHandler rh = new RequestHandler();
            Console.WriteLine("Adding user");

            string guid = Guid.NewGuid().ToString("N");
            string s = String.Format("Hi, \n You can play the game at:\n http://89.147.71.220/Monopoly/Home/ViewAnonymGame?UId={0}\n" +
                                    "Cheers,\nOnline Monopoly Team", guid);
            Console.WriteLine(s);

            //rh.ShutdownService(); return;
            List<string> emails = new List<string>() { @"*****@*****.**", @"*****@*****.**"};
            Task t0 = rh.RegisterUserAsync(emails[0], true);
            Task t1 = rh.RegisterUserAsync(emails[1], true);
            t0.Wait();
            t1.Wait();
            Console.WriteLine("Users added");
            rh.CreateGameAsync(emails);
            Console.WriteLine("Started creating game, waiting ...");
            int id = 1;
            Console.WriteLine("Game created with id " + id);
            rh.AcceptAsync(emails[0], id);
            Console.WriteLine("can start? " + rh.CanStart(id));
            rh.AcceptAsync(emails[1], id);
            Console.WriteLine("can start? " + rh.CanStart(id));
            rh.StartGameAsync(id);
            Console.WriteLine("starting  ... " );
            List<Move> moves = rh.GetPossibilites(emails[0], id);
            Console.WriteLine("--- Moves");
            foreach (Move m in moves)
            {
                Console.WriteLine(m.Description);
            }

            Console.WriteLine("---");
            Console.WriteLine("Making move .. {0}", moves[0].Type);
            rh.MakeMoveAsync(moves[0].Id, "");
            moves = rh.GetPossibilites(emails[0], id);
            Console.WriteLine("--- Moves");
            foreach (Move m in moves)
            {
                Console.WriteLine("{0} : {1}",m.Description, m.Param);
            }
            Console.WriteLine("---");
            Console.WriteLine("Making move .. {0}", moves[0].Type);
            rh.MakeMoveAsync(moves[0].Id, "");
            moves = rh.GetPossibilites(emails[0], id);
            Console.WriteLine("--- Moves");
            foreach (Move m in moves)
            {
                Console.WriteLine("{0} : {1}", m.Description, m.Param);
            }
            Console.WriteLine("---");
            UIGame game = rh.GetUIGameState(emails[0], id);
            Console.WriteLine("Actmoney {0}", game.ActUserMoney);
            Console.WriteLine(game.GameState.ToString());
            Console.WriteLine(Enum.GetName(typeof(UIGame.UIGameStatus), game.GameState));
            rh.ShutdownService();
        }
 public ActionResult ViewStatus(int gameId = -1, string UId = "")
 {
     string userMail = "";
     UIGame game = null;
     RequestHandler rh = new RequestHandler();
     if (UId != "")
     {
         userMail = rh.VerifyUniqueID(UId);
         if (userMail == null) return RedirectToAction("ErrorPage", new { ErrorMessage = "The unique id is invalid" });
         //if (gameId != gi.GameId) return RedirectToAction("ErrorPage", new { ErrorMessage = "There was an error while processing the request. The requested game does not match with the given UID." });
         //userMail = gi.ActUserEmail;
         game = rh.GetUIGameState(userMail, gameId);
     }
     else if (!WebSecurity.IsAuthenticated) return RedirectToAction("ErrorPage", new { ErrorMessage = "You have to be logged in or provide the UId to view the requested page" });
     else
     {
         userMail = GetUserEmail(WebSecurity.CurrentUserName);
         game = rh.GetUIGameState(userMail, gameId);
     }
     GameModel gm = new GameModel();
     gm.GameName = "Game #" + gameId.ToString();
     gm.GameID = gameId;
     gm.Status = game.GameState.ToString();
     ViewBag.CreatorName = GetUserName(game.CreatorEmail);
     foreach (var item in game.UIUserInfo)
     {
         string userName = GetUserName(item.UserEmail);
         if (userName != "") gm.Users.Add(userName);
         else gm.Users.Add(item.UserEmail);
         gm.UserStatus.Add(item.State.ToString());
         if (userMail == item.UserEmail) ViewBag.PlayerStatus = item.State.ToString();
     }
     bool showstartLink = true;
     if (game.CreatorEmail == userMail && rh.CanStart(gameId)) showstartLink = true;
     else showstartLink = false;
     ViewBag.UId = UId;
     ViewBag.ShowStartLink = showstartLink;
     ViewBag.GameId = gameId.ToString();
     ViewBag.Game = gm;
     return View();
 }
 public ActionResult StartGame(int gameId = -1)
 {
     if (!WebSecurity.IsAuthenticated) return RedirectToAction("ErrorPage", new { ErrorMessage = "You are not logged in. You dont have the rights to start the game" });
     RequestHandler rh = new RequestHandler();
     if (rh.CanStart(gameId)) rh.StartGameAsync(gameId);
     else return RedirectToAction("ErrorPage", new { ErrorMessage = "The game can not be started just yet." });
     return RedirectToAction("ViewGame", new { gameId = gameId });
 }