public void CheckIfDoubleDownSituation(ref bool doubledDown, ref List <Card> deck, Hand playerHand, ref List <Card> playerCards, ref double walletAmount, ref double betAmount, ref Card nextCard, ref Random random, RoundResult roundResult) { if ((playerHand.Points(playerCards) == 9 || playerHand.Points(playerCards) == 10 || playerHand.Points(playerCards) == 11) && (roundResult == RoundResult.Unknown)) { doubledDown = playerHand.DoubleDown(playerHand.Points(playerCards)); if (doubledDown == true) { walletAmount -= betAmount; betAmount += betAmount; nextCard = GetRandomCard(random.Next(0, deck.Count), ref deck); playerCards.Add(nextCard); Message.NextCardForPlayerWas(nextCard.ToString()); Message.AfterDoublingDown(playerHand.Points(playerCards)); } } }
public void CheckIfPlayerSplitHand(bool splitHand, ref bool doubledDownSplit, ref bool continueHand, ref double walletAmount, ref double splitBetAmount, ref Card nextCard, List <Card> dealerCards, ref List <Card> playerCardsSplit, ref List <Card> deck, ref Hand playerHand, ref Random random, RoundResult roundResultSplit) { if (splitHand == true) { Message.SecondHand(playerCardsSplit[0].ToString(), playerCardsSplit[1].ToString()); if ((playerHand.Points(playerCardsSplit) == 9 || playerHand.Points(playerCardsSplit) == 10 || playerHand.Points(playerCardsSplit) == 11) && roundResultSplit == RoundResult.Unknown) { doubledDownSplit = playerHand.DoubleDown(playerHand.Points(playerCardsSplit)); if (doubledDownSplit == true) { walletAmount -= splitBetAmount; splitBetAmount += splitBetAmount; nextCard = GetRandomCard(random.Next(0, deck.Count), ref deck); playerCardsSplit.Add(nextCard); Message.NextCardForPlayerWas(nextCard.ToString()); } } if (doubledDownSplit == false) { continueHand = playerHand.HitMe(playerHand.Points(playerCardsSplit), dealerCards[1].ToString()); while (continueHand == true) { nextCard = GetRandomCard(random.Next(0, deck.Count), ref deck); playerCardsSplit.Add(nextCard); Message.NextCardForPlayerWas(nextCard.ToString()); if (playerHand.Points(playerCardsSplit) < 21) { continueHand = playerHand.HitMe(playerHand.Points(playerCardsSplit), dealerCards[1].ToString()); } if (playerHand.Points(playerCardsSplit) >= 21) { continueHand = false; } } if (playerHand.Points(playerCardsSplit) <= 21) { Message.ChoseToStand(playerHand.Points(playerCardsSplit)); } } } }