A simulation of the famous casino game
This program is a simulation of the famous Blackjack card game. I developed this program as a final project for an Object Oriented Programming class I took while enrolled in Brooklyn College.
Aside from the rules of splits, the program follows all the rules of Blackjack. The user is the player and plays against the dealer (i.e. the computer). The player is dealt two cards and must choose whether to hit and draw a new card or stay, based on the value of his or her hand. After the player is satisfied with hes or her hand, the dealer draws cards until it wins or busts. Before playing, the user gets to choose how many rounds to play in a series (i.e. best 2 out of 3).
The program is developed in Java and heavily utilizes the Swing library. It produces a JFrame that simulates the Blackjack table, which contains card, player and deck objects. The card objects use actual images of cards in the poker deck, which are given values based on the rules of Blackjack (The Ace card is programmed to automatically change values based on the value of the player's hand). The user has the option of using keystrokes and/or clicking on labelled buttons to navigate the GUI.
In addition to the program's source code, the GitHub repository contains documentation on the program. It is PDF document containing an overview of the project and a description of the program's API. Within the source code is even more detailed documentation for each method and variable used.