Otherwise, if the dealer's total is greater than or equal to the user's total, then the dealer wins.
The user can draw several cards, so we need a loop. Create and shuffle a deck of cards Create two BlackjackHands, userHand and dealerHand Deal two cards into each hand Check if dealer has blackjack if so, game ends Check if user has blackjack if so, game ends User draws cards if user goes over 21, game ends Dealer draws cards Check for winner The last three steps need to be expanded, again using the information stated in the exercise.
Fortunately, the exercise gives what amounts to a fairly detailed outline of the algorithm. When this happens, the subroutine ends immediately, and any remaining steps in the algorithm are skipped. We should record the return value and test it to see whether the user won.
The game goes like this. In outline, the game goes like this: If not, then the process continues. Here is an applet that simulates the program you are supposed to write. If the user Hits, there is a possibility that the user will go over Two notes on programming: The user should see all the dealer's cards at this point.
Write a main program that lets the user play several games of Blackjack. If dealer goes over 21, the dealer loses. We need variables to represent the amount of money that the user has and the amount that the user bets on a given game.
It would probably be worthwhile to play it for a while to see how it works.
With these refinements, the algorithm becomes Create and shuffle a deck of cards Create two BlackjackHands, userHand and dealerHand Deal two cards into each hand if dealer slot die lip design blackjack User loses and the game ends now If user has blackjack User wins and the game ends now Repeat: If the user goes over 21, the user loses immediately.
The dealer hits on a total of 16 or less and stands on a total of 17 or more. If the user Stands, the game will end, but first the dealer gets a chance to draw cards. The deal function returns a string consisting of a numeric value, or J, Q, K, or A, representing a random card. The exercise says that the subroutine should be a function that returns a boolean value with this information.
In that case, the game is over and the user loses.
Now, it's the dealer's chance to draw. The other functions return different aspects of a hand. The dealer only follows rules, without any choice. In the loop, if the value of userHand goes over 21, then the whole subroutine ends. Then, we can write an algorithm for the main program: Input the user's bet if the bet is 0: The computer will act as the dealer.
Give the user a card.