Example #1
0
        void HideAndClear() // Hides lables, buttons, pictureboxes. Clears user and dealer arraylists. Resets user and dealer scores.
        {
            userScore   = 0;
            dealerScore = 0;
            uCardsDrawn = 0;
            dCardsDrawn = 0;

            UserScoreLbl.Text   = "0";
            DealerScoreLbl.Text = "0";

            dealer.Clear(); // clears the arraylist holding the dealer's cards
            user.Clear();   // clears the arraylist holding the user's cards
            HideScore();
            HideCards();
            HideHitStand();
            HideDeal();
            StartNewGameBtn.Hide();
            GameResultLbl.Hide();
        }
Example #2
0
 void HideGameResultLabel() // Hides game result label.
 {
     GameResultLbl.Hide();
 }
Example #3
0
        async void GamePart2() // User turn is done. GamePart2 covers the dealer's turn.
        {
            HideHitStand();
            NewGameMenuItem.Enabled = false;

            if (userScore == 21) // Updates label, showing that user has a blackjack.
            {
                UserBlackjackText();
            }
            else if (userScore > 21) // Updates label, showing that user busted.
            {
                UserBustedText();
            }

            await Task.Delay(1000);

            try                                                            // Tries to display dealer cards and draw new cards.
            {
                dPic[1].Image = Image.FromFile((cardLoc[(int)dealer[1]])); // Display the dealers second card that was face-down.
                CalcD();

                while (dealerScore < 17)   // Dealer hits when his score is less than 17.
                {
                    bool check = false;    // Will become true after a card chosen.
                    while (check == false) // Dealer attempts to draw a card. Makes sure that same card is not drawn twice.
                    {
                        int card = DrawCard();
                        if ((!user.Contains(card)) & (!dealer.Contains(card))) //Check if user or dealer has the card.
                        {
                            check = true;
                            dealer.Add(card); // Dealer draws a card.
                            dCardsDrawn++;
                        }
                    }

                    // Card chosen. Now for assigning it to an image and calculating value.
                    dPic[dCardsDrawn].Image = Image.FromFile(cardLoc[(int)dealer[dCardsDrawn]]);
                    dPic[dCardsDrawn].BringToFront();
                    await Task.Delay(750);

                    dPic[dCardsDrawn].Show();
                    CalcD();
                }
            }
            catch (System.IO.FileNotFoundException e)
            {
                MessageBox.Show("File(s) Missing - " + e.Message, "Error");
                Application.Exit();
            }

            if (dealerScore == 21) // Updates label, showing that dealer has a blackjack.
            {
                DealerBlackjackText();
            }
            else if (dealerScore > 21) // Updates label, showing that dealer busted.
            {
                DealerBustedText();
            }

            if ((userScore > 21) | ((userScore < 21) & (dealerScore <= 21) & (userScore < dealerScore))) // User loses.
            {
                GameResultLbl.Text = "You lose!";
                losecount++;
                scoreBoard.Lose(losecount);
            }
            else if (userScore == dealerScore) // Tie when user and dealer have the same score. The else if ensures that this number is 21 or less.
            {
                GameResultLbl.Text = "It's a tie!";
                tiecount++;
                scoreBoard.Tie(tiecount);
            }
            else // User wins.
            {
                GameResultLbl.Text = "You win!";
                wincount++;
                scoreBoard.Win(wincount);
            }

            gamesPlayed++;
            scoreBoard.Played(gamesPlayed);
            await Task.Delay(500);

            GameResultLbl.Show();
            NewGameMenuItem.Enabled = true;
            ShowDeal();
            // A round of the game has been completed. Now user can click the deal button to start a new round.
        }