示例#1
0
        private bool RoundOver(Game currentGame, bool firstRound, bool dealer)
        {
            if (dealer)
            {
                manage.UpdateHandAces(currentGame);
                if (!firstRound)
                {
                    if (currentGame.Dealer.Hand[1].Show == false)
                    {
                        currentGame.Dealer.Hand[1].Show = true;
                        currentGame.Dealer.Points       = manage.AddPoints(currentGame.Dealer.Hand);
                    }
                }

                manage.DealerAlgorithm(rnd, currentGame);
            }

            if (!dealer)
            {
                manage.UpdateHandAces(currentGame);
            }

            GameResult gameResult = null;

            if (!firstRound)
            {
                gameResult = manage.CheckIfBust(currentGame);
                if (currentGame.Dealer.Hand[1].Show == false)
                {
                    currentGame.Dealer.Hand[1].Show = true;
                    currentGame.Dealer.Points       = manage.AddPoints(currentGame.Dealer.Hand);
                }
            }

            if (dealer && gameResult == null)
            {
                gameResult = manage.CompareDealerAndPlayer(currentGame);
            }

            var roundOver = false;

            if (gameResult != null)
            {
                currentGame.Result = gameResult;

                roundOver = manage.ManageWinOrLoseOrTie(currentGame);
            }

            return(roundOver);
        }