/// <summary> /// Get status for dealer and player by end of turn /// </summary> private void FinishTurn() { DealerStatus = _gameCommands.GetDealerStatus(DealerCards.ToList()); Players = _gameCommands.GetPlayersStatuses(Players); Players = _turnCommands.GetEndTurnStatusForPlayers(Players, DealerStatus); RaisePropertyChanged("DealerStatus"); RoundStarted = false; }
/// <summary> /// Clear all cards from dealer and player by start of new round /// </summary> private void ClearCardsFromDealerAndPlayer() { DealerCards.Clear(); foreach (var player in Players) { player.PlayerCards.Clear(); player.PlayerStatus = new GameStatus(); } }
/// <summary> /// Set hidden card to true /// </summary> private void RevealHiddenDealerCard() { var hiddenCard = DealerCards.Where(x => x.HideCard == true).ToList(); foreach (var card in hiddenCard) { DealerCards.Remove(card); card.HideCard = false; DealerCards.Add(card); } }
/// <summary> /// Check if dealer should get cards or end turn /// </summary> private void DealerAction() { if (_turnCommands.CheckIfDealersTurn(Players.Select(x => x.PlayerStatus.Status).ToList())) { DealerTurnAction(); } if (_turnCommands.EndTurn(Players.ToList(), DealerCards.ToList())) { FinishTurn(); } }
/// <summary> /// Dealer reveal card and deals new card if handvalue is lower than 17 /// </summary> private void DealerTurnAction() { var dealerHasHiddenCard = DealerCards.Any(x => x.HideCard == true); if (dealerHasHiddenCard) { RevealHiddenDealerCard(); } while (_turnCommands.DealerDecision(_gameCommands.GetHandValue(DealerCards.ToList()))) { DealerCards.Add(_turnCommands.Deal()); } RaisePropertyChanged("CardsLeftInDeckCounter"); }
/// <summary> /// Deal card by start of new round /// </summary> private void RoundStartDealCards() { foreach (var player in Players) { player.PlayerCards.Clear(); player.PlayerCards.Add(_turnCommands.Deal()); player.PlayerCards.Add(_turnCommands.Deal()); player.PlayerStatus.Status = "Ready"; } DealerCards.Add(_turnCommands.Deal()); DealerCards.Add(_turnCommands.DealHidden()); RaisePropertyChanged("CardsLeftInDeckCounter"); RoundStarted = true; }
public void AddCardToDealerHand(Card card) { if (card != null) { DealerCards.Add(card); if (DealerCards.Count() >= 2) { DealerHand = new BlackjackHand(DealerCards); if (DealerHand.IsBlackjack || DealerHand.Score == 21) { DealerHas21 = true; } } } }
private void onLoad() { gameGrid.Children.Clear(); Game.GetDealer().ResetCards(); Game.GetPlayer().ResetCards(); //DealerPart _dealerCards = new DealerCards(Game.GetDealer()); _dealerCards.StartDealer = new DealerCards.StartDealerDelegate(NewGame); Grid.SetRow(_dealerCards, 0); Grid.SetColumn(_dealerCards, 0); gameGrid.Children.Add(_dealerCards); //PlayerPart _playerCards = new PlayerCards(Game.GetPlayer()); _playerCards.HitPlayer = new PlayerCards.HitPlayerDelegate(Game.GetDeck().GetCard); _playerCards.StayPlayer = new PlayerCards.StayPlayerDelegate(PlayerStayed); Grid.SetRow(_playerCards, 1); Grid.SetColumn(_playerCards, 0); gameGrid.Children.Add(_playerCards); }