[Sprint 3] User Stories - paynem/AcesUpProject GitHub Wiki
1: Card: "As a player, I want Aces to be the only type of card I can move to empty columns, so that it is easier for me to visually organize the game as I am playing”
Conversation:
- moving a card other than an ace results in an error/no change in game state
Confirmation:
- No cards other than aces move when there is an empty column in the game
2: Card: "As a developer, I want there to be a GroupOfCards class that our Column, DealPile, and SuccessPile can inherit from”
Conversation:
- GroupOfCards will be the parent class that the majority of our classes will inherit from.
Confirmation:
- All of the class that we're actually using are functional (as they inherit most of their methods from GroupOfCards)
3: Card: "As a developer, I want there to be a DealPile class, so that the player can deal cards during their turn.”
Conversation:
-
DealPile will store the initial 52 cards that are generated and shuffled at the beginning of the game (well, 4 are dealt right away, so dealPile will actually have 48 cards once the game is started).
-
DealPile will have a method that will add a card to each pile (and then remove those cards from itself).
-
DealPile inherits from the GroupOfCards class.
Confirmation:
- At the start of the game DealPile contains 52 cards (although this turns into 48 cards after 4 cards are dealt to the piles).
4: Card: "As a developer, I want there to be a Column class, so that we can have an object for every pile of cards”
Conversation:
-
When the game is being created, each pile will start with 0 cards.
-
After the DealPile object is created, a single card will be dealt to each column/pile.
Confirmation:
-
If the columns are displayed with a single card each at the beginning of the game.
-
The Column class inherits from the GroupOfCards class.
5: Card: "As a developer, I want there to be a SuccessPile (discard) class that, so that we have a place to store discarded cards”
Conversation:
-
This class will start out with 0 cards (and display a card back at the beginning of the game).
-
Any card that is successfully discarded from a pile is added (face up) to the SuccessPile object.
-
SuccessPile inherits from GroupOfCards.
Confirmation:
- When the SuccessPile object starts out with 0 cards (and displays a card back at the beginning of the game), and when it displays any cards that are successfully discard.
6: Card: "As a developer, I want to redo the Game class, so that it more neatly fits into (and integrates with) our new object-oriented design.”
Conversation:
- Game needs to be able to work with our new classes.
Confirmation:
- When the game starts and runs properly
7: Card: "As a developer, I want to redo the Card class, so that it more neatly fits into (and integrates with) our new object-oriented design.”
Conversation:
- Game needs to be able to work with our new classes.
Confirmation:
- When the game starts and runs properly
8: Card: "As a user, I want there to be a rules button that displays the rules of the game when pressed, so that I know how to play the game.”
Conversation:
-
Will replace the Undo button.
-
When the user presses the button, a small window will popup with text that describes how to play the game.
Confirmation:
- When the Rules window pops up after pressing the Rules button.
9: Card: "As a user, I want the score of the game (the number of discarded cards) to appear when I click on a button, so I know how well I'm doing.”
Conversation:
-
When the user clicks the score button, the score will pop up on the screen.
-
The button will be below the move button.
Confirmation:
- When the score pops up after the score button is clicked (and if the score accurately reflects the number of cards discarded).