private void HandlePlayerHitCall(EPlayers player) { _round.PlayerCall(player, ERoundCalls.Hit); _playerViewModels[player].SetPlayerCards(_round.PlayerCards[player]); _playerViewModels[player].CardSum = $"Card sum: {_round.PlayersSumOfCards[player]}"; if (_round.PlayerRoundStates[player] == EPlayerRoundState.ExceededTwentyOne) { _playerViewModels[player].PlayerExceededTwentyOne(); } }
public void Execute(EPlayers player) { int sum = _playersSumOfCards[player]; if (sum > 21) { _playerResults[player] = ERoundResult.DealerWins; _playerRoundStates[player] = EPlayerRoundState.ExceededTwentyOne; } }
public void ThreePlayersCanBeAdded() { //Arrange string playerOneFirstName = "testUserOneFirstName"; string playerOneLastName = "testUserOneLastName"; int playerOneIdentifier = 1; string playerTwoFirstName = "testUserTwoFirstName"; string playerTwoLastName = "testUserTwoLastName"; int playerTwoIdentifier = 10; string playerThreeFirstName = "testUserThreeFirstName"; string playerThreeLastName = "testUserThreeLastName"; int playerThreeIdentifier = 100; EPlayers playerOne = EPlayers.Player1; EPlayers playerTwo = EPlayers.Player2; EPlayers playerThree = EPlayers.Player3; BlackjackGame testGame; //Act testGame = new BlackjackGame(6); Player testPlayerOne = new(playerOneFirstName, playerOneLastName, playerOneIdentifier); Player testPlayerTwo = new(playerTwoFirstName, playerTwoLastName, playerTwoIdentifier); Player testPlayerThree = new(playerThreeFirstName, playerThreeLastName, playerThreeIdentifier); testGame.AddNewPlayer(testPlayerOne); testGame.AddNewPlayer(testPlayerTwo); testGame.AddNewPlayer(testPlayerThree); //Assert if (testGame.Players[playerOne].PlayerIdentifier != playerOneIdentifier || testGame.Players[playerOne].FirstName != playerOneFirstName || testGame.Players[playerOne].LastName != playerOneLastName) { string errorMessage = $"Added player {playerOne} does not exist in the players list of the game!"; Assert.Fail(errorMessage); } //Assert if (testGame.Players[playerTwo].PlayerIdentifier != playerTwoIdentifier || testGame.Players[playerTwo].FirstName != playerTwoFirstName || testGame.Players[playerTwo].LastName != playerTwoLastName) { string errorMessage = $"Added player {playerTwo} does not exist in the players list of the game!"; Assert.Fail(errorMessage); } //Assert if (testGame.Players[playerThree].PlayerIdentifier != playerThreeIdentifier || testGame.Players[playerThree].FirstName != playerThreeFirstName || testGame.Players[playerThree].LastName != playerThreeLastName) { string errorMessage = $"Added player {playerThree} does not exist in the players list of the game!"; Assert.Fail(errorMessage); } }
/// <summary> /// Remove a player from the game. Player can be removed from the game after player finishes the actual being played round. Otherwise, player loses the actual round. /// </summary> /// <param name="player"></param> public void RemovePlayer(Player player) { if (_players.ContainsValue(player)) { EPlayers playerIdentifier = _players.Keys.First(k => _players[k] == player); _players.Remove(playerIdentifier); } else { throw new InvalidOperationException($"Player {player.FirstName} does not exist in the current list of players!"); } }
public void Execute(EPlayers player, ERoundCalls call) { if (_playerRoundStates[player] == EPlayerRoundState.CanMakeHitCall) { switch (call) { case ERoundCalls.Hit: new GivePlayerAdditionalCardCommand(_cards, _playerCards).Execute(player); break; case ERoundCalls.Stand: _playerRoundStates[player] = EPlayerRoundState.Stand; break; default: return; } } }
public void Execute() { int dealerCardsSum = _playersSumOfCards[EPlayers.Dealer]; foreach (KeyValuePair <EPlayers, EPlayerRoundState> playerRoundState in _playerRoundStates) { if (playerRoundState.Key != EPlayers.Dealer && playerRoundState.Value == EPlayerRoundState.Stand) { EPlayers player = playerRoundState.Key; int playerCardsSum = _playersSumOfCards[player]; if (dealerCardsSum > 21) { _playerResults[player] = ERoundResult.PlayerWins; } if (playerCardsSum <= 21) { if (dealerCardsSum > playerCardsSum) { _playerResults[player] = ERoundResult.DealerWins; } if (dealerCardsSum == playerCardsSum) { _playerResults[player] = ERoundResult.Push; } if (dealerCardsSum < playerCardsSum) { _playerResults[player] = ERoundResult.PlayerWins; } } else { throw new InvalidOperationException( "Player cannot have sum of cards larger than 21 at this stage! If player has cards which have the sum larger than 21, the player loses the round without making the stand call!"); } } } }
public void AddPlayer() { //Arrange string playerFirstName = "testUserOneFirstName"; string playerLastName = "testUserOneLastName"; int playerIdentifier = 1; EPlayers player = EPlayers.Player1; BlackjackGame testGame; //Act testGame = new BlackjackGame(6); Player testPlayerOne = new(playerFirstName, playerLastName, playerIdentifier); testGame.AddNewPlayer(testPlayerOne); //Assert if (testGame.Players[player].PlayerIdentifier != playerIdentifier) { string errorMessage = $"Added player does not have the expected identifier! Expected identifier : {playerIdentifier}. Actual identifier: {testGame.Players[EPlayers.Player1].PlayerIdentifier}"; Assert.Fail(errorMessage); } //Assert if (testGame.Players[player].FirstName != playerFirstName) { string errorMessage = $"Added player does not have the expected first name! Expected first name : {playerIdentifier}. Actual first name: {testGame.Players[EPlayers.Player1].PlayerIdentifier}"; Assert.Fail(errorMessage); } //Assert if (testGame.Players[player].LastName != playerLastName) { string errorMessage = $"Added player does not have the expected last name! Expected last name : {playerIdentifier}. Actual last name: {testGame.Players[EPlayers.Player1].PlayerIdentifier}"; Assert.Fail(errorMessage); } }
private void HandlePlayerStandCall(EPlayers player) { _round.PlayerCall(player, ERoundCalls.Stand); _playerViewModels[player].IsStandButtonEnabled = false; _playerViewModels[player].IsHitButtonEnabled = false; }
private void GivePlayerAdditionalCard(EPlayers player) { _playerCards[player].Add(_cards.First()); _cards.RemoveAt(0); }
public void Execute(EPlayers player) { int sum = new GetSumCardValuesCommand().Execute(_playerCards[player]); _playersSumOfCards[player] = sum; }
public void Execute(EPlayers player) { _playerCards[player].Add(_cards.First()); _cards.RemoveAt(0); }