Blackjack
For the remainder of this chapter, we will be using what we've learned about functional programming to write an implementation of a simple variant of the card game Blackjack.
Unlike regular Blackjack, though, our game only has one player. The player can draw as many cards as they want (hit
), as long as the total value does not exceed 21.
The total is the sum of the values of the cards in the player's hand. Cards have the following values:
- Numeric cards have their face value (for example, a 6 of hearts has a value of 6)
- A Jack, Queen, or King has a value of 10
- For simplicity, the Ace is worth 1 (unlike regular Blackjack, where it has a value of either 1 or 11)
If the total value exceeds 21, the hand has gone bust and the game is over.
Mapping Card Values to Cards
The two previous exercises will be very useful in the final assignment, where you'll be implementing a Blackjack game. Feel free to use those code snippets directly...