コード例 #1
0
 /// <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;
 }
コード例 #2
0
        /// <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();
            }
        }
コード例 #3
0
        /// <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");
        }