public ContentResult GetResults(Guid gameId, string username) { var game = GameManager.GetGame(gameId); var model = new MoveModel { Game = GetNewGame(game), Username = username }; model.ArrangeUsers(username); return(Content(model.ToJson(), "application/json")); }
public ContentResult Move([FromBody] JObject jObject) { var json = jObject.ToString(Formatting.None); var settings = new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Objects }; var model = JsonConvert.DeserializeObject <EndOfMoveModel>(json, settings); var user = model.Username == model.Username ? model.UserPair.User1 : model.UserPair.User2; var playedCard = user.Username == "grim" ? new GrimReaper() : Dealer.DeckCards(user.CurrentDeck).First(x => x.Name == model.Selection); user.AddPlayedCard(playedCard); user.ResetHandCards(); if (model.IsBotGame) { var enemy = model.Username == model.UserPair.User1.Username ? model.UserPair.User2 : model.UserPair.User1; enemy.AddPlayedCard(Dealer.GetRandomCard(enemy)); enemy.ResetHandCards(); var gameEngine = new GameEngine(); var results = gameEngine.ExecuteMove(user, enemy); var game = new Game { UserPair = results.UserPair, Actions = results.Actions }; var resultModel = new MoveModel { Game = game, Selection = model.Selection, Username = model.Username }; return(Content(resultModel.ToJson(), "application/json")); } else { var turnIsComplete = GameManager.AddMove(model.GameId.Value, user); if (turnIsComplete) { _hub.EndTurn(model.GameId.Value); } return(Content(new { PlayerGame = true, User = user }.ToJson(), "application/json")); } }