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 }); }