This is my fourth project while at Skill Distillery. For this project we are supposed to create a Blackjack game. The user is presented with a menu containing two options: to play the game or to log off the application. When the user chooses to play the game, the user will play a game of Blackjack against the dealer following most of the rules of Blackjack. The player and dealer are both dealt cards at the beginning of the game. The player is then given the option to add another card or end their turn. If the player adds another card, game logic will determine if the player can add another card, end turn, or if they lost to the dealer. When the player chooses to end their turn instead of getting another card, the dealer plays until the dealer wins, loses or ties the game. The menu will loop after everygame until the player chooses to log off the application.
This project was another dive into object-oriented programming. Working on these applications with the requirements given, has really helped me grasp a better understanding of abstraction, polymorphism, inheritance and encapsulation. I have really enjoyed learning how we can protect certain data in our programs and what we allow users to see.
I believe a good amount of improvements can be made to make the application feel like a real Blackjack game. A betting system could be implemented using currency to make the player feel the weight of losing and winning. Multiple players can be added to the game. A two-deck system could be added to block card counting. There is logic that can be added such as allowing the player or dealer to choose whether their ace is a 1 or 11. While I believe there are more improvements than what I have stated that can be worked on, I do know I will revisit this project in the future to further create a better user application.
I used Git, Eclipse, Java, the Terminal and Google to look up how to play Blackjack.