This game was the first project developed by Jeff Jones, while a student at General Assembly's Web Development Immersive program.
The game was designed using HTML, CSS, Javascript and JQuery. The process of development started with a basic CSS framework for testing game logic, and then using Javascript to create and shuffle a deck of cards to set up game play. From that point forward, one player logic was added, to tell the player what the total of their hand was, and whether or not they busted. This included the ability to increase bet by $25, and revisit the cashier to replenish their chip stack. Dealer logic was implemented next, with the dealer showing a single card initially. Once the player decided to stand, the dealer takes a hit card until they total between 17 and 21. At that point the game lets the user know if he or she has won or lost based on the value of the hands, with the bet result reflected below.
Once the hand is over, the user can increase their bet, and then use the Deal function to play another hand.
Unsolved problems: I'm still working on the soft Ace functionality, for when an ace should be equal to 1 rather than 11. I'd also like to remove the alert function, and add nicer looking cards to the game at some point. Additional stylistic updates to make the game board look more like a casino table are possible as well. The deck also needs to be reshuffled when there is no longer any cards in the array.
Likely some additional bugs in game logic that I'm missing from lack of playing.
-
As a user, I should be able to see my chip count after each hand.
-
As a user I should be able to increase or decrease my bet amount.
-
As a user, I should be able to know immediately whether I have won or lost.
-
As a user, I should be able to know what my current hand's value is.
-
As a user, I should be able to hit when I want to take another card.
-
As a user, I should be able to stand when I do not want another card.
-
As a user, the dealer should not be allowed to hit on 17 or higher.
-
As a user, I should be able to reset my chip stack if I'm out of money.