User Stories and Initial Assignment Duties - cs361-W16/Blackjack-10 GitHub Wiki

UI -- Natasha

User Stories -- All

UML -- Charles

Travis CI -- Paul


User Stories

Story 1: Paul - hit, stay, fold

Card: As a user I would like to be able to decide what to do with my cards so that I can advance the game.

Conversation: The three main options, other than split hand, are hit, stay, and fold. When the user hits, they will be given another card, and their count will be incremented according to the card's value. When the user stays, this should allow the dealer to play to determine who wins. If the user folds, the user should lose, and the round should be ended instantly.

Confirmation: This story will be complete when all three functions work. This means when the user hits, they are given another card, when they stay, the dealer plays, and when they fold, the round ends.

Story 2: Natasha - Split hand

Card: As a user I would like to be able to split my hand when I receive two of the same card so that I can play blackjack correctly.

Conversation: When the user gets dealt two cards of the same rank, they should split their cards so that now they have two different hands that they can play on. Now both hands need to be kept track of. Ex: If one hand goes over twenty one, then that hand is eliminated, but the other hand is still in play.

Confirmation: The task will be complete when the player is able to split their hand when they have two of the same cards. They then should be able to stay, fold, or hit on each separate hand.

Story 3: Charles - card by card betting, double down, anti

Card: As a user I would like to be able to have a betting aspect to the game so that I can immerse myself in the game.

Conversation: player must be able to anti a bet of $2 to begin each round of the game. in addition, the player must be able to raise the initial bet after receiving their first two cards, and each time after the first two that they receive a card without busting. Lastly, the player must be able to choose to "double down", meaning that they will receive one more card and then stay, and in return their current bet will be doubled.

Confirmation: this task will be complete once three things are able to happen: first, the player is able to raise the bet at each appropriate time (each time cards are received without busting). Second, the player is able to bet the initial bet of $2 to start the next round of blackjack. Third, when the player is able to choose to double down whenever they want to.

Story 4: Cody - dealer functionality

Card: As a user I would like to be able to play against the dealer so that there is an element of competition and difficulty.

Conversation: Well you can play blackjack without a dealer, but it's not really that fun. It should not be that hard to add dealer functionality to the game, because we can just treat it like another hand and compare it to the player. There is an added twist where the first dealer card isn't shown, but since it's only one card, we can throw in some small conditional.

Confirmation: The dealer's hand should be viewable to the player and should be adding cards every time the user hits. After the user folds, the dealer should reveal their hidden card and the dealer's score should be compared to the user and taken into account when wins and losses are calculated.

Story 5: Nawaf - winning & losing

Card: As a user, I would like to be able to win and lose so that I can win or lose the money that I bet.

Conversation: Playing blackjack is a lot of fun, but what is the point of playing without winning or losing. Adding the winning and losing functionality help determine whether the user wins or lose and then that will determine if they get more money or lose some.

Confirmation: The dealer start the game and deal card to the user and the game keeps going until the user click on stand or get over 21 on their hand. If they click on the stand then the value of their hand get compared with what the dealer have and whoever have the highest number that is either equal to 21 or bellow then that how the winner will be determined.