Genre: Card game
Project goal: STL and Gamedev Patterns practise
Engine: Unreal Engine 5.0
Platforms: Windows
Technologies & Patterns: C++, Dynamic Data Structures, STL, Singleton, Command Pattern
Input: SPACE - continue, 1 - new game, 2 - show rules, 3 - exit game, Z - make minimum bet, X - make medium bet, C - make large bet, V - make maximum bet, Q - hit, W - stand, E - double down, R - surrender
Description: Blackjack, also known as Twenty-One, is a popular casino card game
that involves comparing cards between a player and the dealer. The goal is to have a hand with a value
closer to 21 than the dealer's hand without going over 21.
Gameplay Showcase
Rules:
-
The game is played with one or more decks of standard playing cards.
-
Each card has a point value: 2 through 10 are worth their face value, face cards (Jack, Queen, King) are worth 10, and Aces can be worth 1 or 11, depending on what works best for the player's hand.
-
The game starts with the player placing a bet. The dealer then deals two cards to the player, face up, and two cards to themselves, one face up and one face down.
-
The player can choose to "hit" (take another card) or "stand" (keep their current hand). The player can continue to hit until they decide to stand, or until their hand goes over 21, which is called "busting".
-
The dealer must follow a specific set of rules for hitting and standing. The dealer must always hit if their hand value is 16 or less, and must stand if their hand value is 17 or more.
-
The objective of the game is to have a hand value closer to 21 than the dealer's hand value, without going over 21. If the player's hand is closer to 21 than the dealer's hand, the player wins. If the dealer's hand is closer to 21 than the player's hand, the dealer wins. If both the player and the dealer have the same hand value, it's a push, and the player's bet is returned.
-
A "Blackjack" is a hand that consists of an Ace and a 10-point card. This is the strongest hand in the game, and if the player has a Blackjack, they win automatically, unless the dealer also has a Blackjack, in which case it's a push.
-
If the player wins, they are paid out 1:1 on their bet. If the player wins with a Blackjack, If the player loses, the dealer collects their bet. If the game ends in a push, the player's bet is returned.