public ActionResult StartBlackjackGame(PlayerBetViewModel model) { try { if (model == null) { return(BadRequest("Error starting new game. ViewModel cannot be null.")); } if (model.Player == null) { return(BadRequest("Error starting new game. Player cannot be null.")); } if (model.Bet > model.Player.CurrentMoney || model.Bet <= 0) { return(BadRequest( "Invalid bet. Please choose a bet greater than zero and less than the player's available money." )); } CasinoTable table = _gameManager.StartNewGame(model); table.Player.Cards = _gameManager.HandleAces(table.Player); return(Ok(table)); } catch (Exception) { return(this.StatusCode(StatusCodes.Status500InternalServerError, "Database Failed when retrieving Players data.")); } }
protected Task <HttpResponseMessage> StartBlackjackGame(PlayerBetViewModel model) { var requestPath = $"{TestingServer.BaseAddress}{BlackjackRouteConstants.BaseRoute}{BlackjackRouteConstants.StartGameRoute}"; var postRequest = new HttpRequestMessage(HttpMethod.Post, requestPath); postRequest.Content = new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, "application/json"); return(HttpClient.SendAsync(postRequest)); }
public CasinoTable StartNewGame(PlayerBetViewModel model) { if (model == null) { throw new ArgumentNullException(nameof(model)); } var table = CreateCasinoTable(model); table.Player = SubtractBetFromPlayerWallet(table.Player); table = DealCardsToBeginGame(table); return(table); }
public BlackjackControllerTests(TestFixture testFixture) : base(testFixture) { TestPlayerModel = new PlayerModel() { Username = "******", CurrentMoney = 100, TotalEarned = 0, TotalLost = 0, Active = true }; TestPlayerBetViewModel = new PlayerBetViewModel { Bet = 5, Player = TestPlayerModel }; TestCasinoTable = new CasinoTable(TestPlayerBetViewModel); }
public GameManagerTests() { _gameManager = new GameManager(); TestPlayerModel = new PlayerModel() { Username = "******", CurrentMoney = 100, TotalEarned = 0, TotalLost = 0, Active = true }; TestPlayerBetViewModel = new PlayerBetViewModel { Bet = 5, Player = TestPlayerModel }; TestCasinoTable = new CasinoTable(TestPlayerBetViewModel); }
public void CasinoTable_ShouldCreateTableIfGivenPlayerBetViewModel() { var playerBetViewModel = new PlayerBetViewModel() { Bet = 5, Player = new PlayerModel() { Username = "******", CurrentMoney = 100, TotalEarned = 0, TotalLost = 0, Active = true } }; var myTable = new CasinoTable(playerBetViewModel); Assert.Equal(myTable.Player.Username, playerBetViewModel.Player.Username); myTable.Dealer.Should().NotBeNull(); myTable.Player.CurrentBet.Should().Be(5); myTable.Player.Score.Should().Be(0); }
private CasinoTable CreateCasinoTable(PlayerBetViewModel model) { return(new CasinoTable(model)); }