/// <summary> /// Updates all boards textboxes and stuff /// </summary> private new void Update() { string VisualCardHandPlayer = ""; string VisualCardHandDealer = ""; int CardNr = 0; foreach (var item in player.PlayerHand) { string VisualCard = StaticMethods.GetFormCard(item); VisualCardHandPlayer += VisualCard; Card card = player.GetCard(CardNr); } foreach (var item in dealer.DealerHand) { string VisualCard = StaticMethods.GetFormCard(item); VisualCardHandDealer += VisualCard; Card card = player.GetCard(CardNr); } label1.Text = VisualCardHandPlayer; label2.Text = VisualCardHandDealer; textBoxWallet.Text = player.balance.ToString(); PlayerWinValue = Rules.SetWinValue(PlayerCardAceValue, PlayerCardValue, player); DealerWinValue = Rules.SetWinValue(DealerCardAceValue, DealerCardValue, dealer); _textBoxDealerPoints.Text = Rules.GetBestValue(DealerCardAceValue, DealerCardValue, dealer).ToString(); _textBoxPlayerPoints.Text = Rules.GetBestValue(PlayerCardAceValue, PlayerCardValue, player).ToString(); }
/// <summary> /// Progess of the game - From start to end; /// </summary> public bool RunGame() { int DealerValue = 0; int DealerAceValue = 0; int playerValue = 0; int PlayerAceValue = 0; int SplitValue = 0; int SplitAceValue = 0; bool winSplit = false; bool split = false; bool IWantSplit = false; Console.Clear(); dealer.CheckActiveDeck(deck); Printer.LOGG(); int bet = Printer.AskBet(player); // Get player bet dealer.GiveCards(player, dealer); // Clear hands and give start cards #region SplittTest ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //int y = 1; ///////////////////////////////////////////// TRY SPLITT ///////////////////////////////////////////////////// //int x = 1; /////////////////////////////////////////////////////////////////////////////////////////////////////////////// //string CardType = StaticMethods.GetType(x); ////////////////////////////////////////////////////////////////////////////// //player.GetCard(new Card(value: 10, aceValue: 10, color: StaticMethods.ReturnType(y), type: CardType));///////////////////// //player.GetCard(new Card(value: 10, aceValue: 10, color: StaticMethods.ReturnType(y), type: CardType));///////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #endregion Printer.PrintGame(player.ShowPlayerHand(), dealer.ShowDealerHand(), bet, player.balance, split, player); split = Rules.SplittPosible(player.ShowPlayerHand(), player, bet); if (split) { IWantSplit = Printer.AskSplitt(dealer, player); } if (IWantSplit) { dealer.SplittPlayerCards(player); { // player.HitMeSplitt(player, dealer, bet, split); } } else { Printer.HitMePrint(player, dealer, split, bet); // Give all players card } if (Rules.NotOver21(StaticMethods.CountValue(player.ShowPlayerHand()))) { Printer.PrintGame(player.ShowPlayerHand(), dealer.ShowDealerHand(), bet, player.balance, split, player); dealer.DealerGetAllHisCards(player, dealer, bet, split); // Give dealer all his cards if (Rules.NotOver21(StaticMethods.CountValue(dealer.ShowDealerHand())) || Rules.NotOver21(StaticMethods.CountAceValue(dealer.ShowDealerHand()))) { DealerValue = StaticMethods.CountValue(dealer.ShowDealerHand()); DealerAceValue = StaticMethods.CountAceValue(dealer.ShowDealerHand()); playerValue = StaticMethods.CountValue(player.ShowPlayerHand()); PlayerAceValue = StaticMethods.CountAceValue(player.ShowPlayerHand()); if (IWantSplit) { SplitValue = StaticMethods.CountValue(player.SplittHand); SplitAceValue = StaticMethods.CountAceValue(player.SplittHand); } int PlayerwinValue = Rules.SetWinValue(PlayerAceValue, playerValue, player); int SplitwinValue = 0; int DealerwinValue = Rules.SetWinValue(DealerAceValue, DealerValue, dealer); if (SplitAceValue < 22) { SplitwinValue = SplitAceValue; } else if (SplitValue < 22) { SplitwinValue = SplitValue; } else { SplitwinValue = 0; } win = Rules.PlayerWin(PlayerwinValue, DealerwinValue); if (IWantSplit) { winSplit = Rules.PlayerWin(SplitwinValue, DealerwinValue); } } else { win = true; if (IWantSplit) { if (SplitValue < 22) { winSplit = true; } } } } else { win = false; } Rules.WinManager(win, winSplit, bet, player, IWantSplit); Printer.EndMsg(player.ShowPlayerHand(), dealer.ShowDealerHand(), bet, player.balance, split, player, win, winSplit); if (player.balance < 1) { gameOver = true; Printer.GameOver(); } return(gameOver); }