[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).