Skip to content

Deckbuilding

Millie Macdonald edited this page Jan 18, 2017 · 1 revision

Deckbuilding Wiki

How To Use

The deck builder allows the player to edit their decks with the cards that they own. The player can add cards to their deck, remove cards from their deck, switch deck they are building and rename the current deck they are building.

While on the deck building screen the player can also see a card view containing all the cards in the game, or a filtered subset of those cards. The player can filter all the cards by name, type and owned.

Deck Builder Screen

Deck Builder

Deck Builder Screen Items

Interactions

  1. An unowned card
  2. An owned card
  3. A gridPane row for a card in the current deck, contains;
    • number of copies in the deck
    • card name
    • remove button
  4. A comboBox to switch between decks to build
  5. A button to edit the current deck name
  6. The size of the current deck
  7. A textField to filter cards by
  8. A toggleButton to filter minion cards
  9. A toggleButton to filter action cards
  10. A toggleButton to filter owned cards

Action flows

#i will refer to screen item i from above

Steps to add a card to the deck

  1. Double click an owned card (#2) that you want to add

Steps to remove a card from the deck

  1. Click the remove button from a card in the deck (#3) that you want to remove
    • if removing the card means the deck size is under the minimum deck size, the deck will not save and the deck will indicate it is not saved shown below

Deck not saved

Steps to change the deck to build

  1. Click #4 and choose the deck you want to build
    • if switching from a deck that is not saved all changes will be lost

Steps to rename the deck

  1. Click #5 and type the new deck name into the textField that appears as shown below
  2. Press enter to submit the change

Deck name editing

Steps to filter cards displayed

There are 3 filters that you can apply to cards displayed

  1. Filter by card name: Type some characters into #7 that the card names should contain, blank will not filter by name
  2. Filter by card type: Toggle #8 and #9 so that the required card type is toggled, if both toggles are off card are not filtered by type
  3. Filter by if card is owned: Toggle #10 so that it if you want only owned cards it is on or if you want all cards it is off

The filter is automatically applied so after each change to the filter settings you will see the filtered cards

Code Usage

Deck class

Deck represents an immutable list of cards to be used in the game

Constructor Use

Parameters Description
none An empty Deck with default name will be created
String name An empty Deck with name name will be created
CardList cardList A Deck with cards from cardList and default name will be created
CardList cardList, String name A Deck with cards from cardList and name name will be created
Deck other A Deck with cards from other and default name will be created
Deck other, String name A Deck with cards from other and name name will be created

Public Methods

Method Parameters Returns Description
getNullCard none Card Get a NullCard
getName none String Get this Deck name
getCards none List<Cards> Get a list of cards in this Deck
getAmount Card card int Get the amount of card in this Deck
size none int Get the amount of cards in this Deck
equalTo Deck other boolean Check if this Deck is the same as other

CardList class

CardList is a mutable list of cards which can be added to and taken from

Constructor Use

Parameters Description
none A CardList with no cards is created
Deck deck A CardList with cards from deck is created

Public Methods

Method Parameters Returns Description
containsCard Card card boolean Check if this CardList contains any of card
addCard Card card void Adds 1 of card to this CardList
addCard Card card, int num void Adds num of card to this CardList
removeCard Card card void Removes 1 of card in this CardList
removeCard Card card, int num void Removes num of card in this CardList
getDistinctCards none List<Cards> Get all the distinct cards in this CardList
getCards none List<Cards> Get all the cards, including duplicates, in this CardList
getAmount Card card int Gets the amount of card in this CardList
getDistinctSize none int Gets the amount of distinct cards in this CardList
getSize none int Gets the total amount of cards in this CardList
getFiltered String search, String type CardList Get a filtered version of this CardList only containing cards with search in their names, and cards with type equal to type
equalTo CardList other boolean Check is this CardList is the same as other

ViewCard class

ViewCard is an immutable representation of a Card being/to be displayed on a screen

Constructor Use

Parameters Description
Card card, int x, int y Create a ViewCard at coordinates x and y, with scale 1
Card card, int x, int y, int scale Create a ViewCard at coordinates x and y, with scale scale

Public Methods

Method Parameters Returns Description
drawCard GraphicsContext gc void Draws the ViewCard onto gc using it's coordinates and scale
containsClick int x, int y boolean Check is a click at coordinates x and y are on this ViewCard
getX none int Get this ViewCards x coordinate
getY none int Get this ViewCards y coordinate
getWidth none int Get this ViewCards width
getHeight none int Get this ViewCards height
getScale none int Get this ViewCards scale
getCard none Card Get this ViewCards base card

ViewCardList class

ViewCardList is a list of ViewCard used to hold all the cards currently displayed on a screen

ViewCardList is not intended to be used outside of the deck view screen, message a member of Muffin Predators if you want/need to use this class

User Testing

The purpose of testing the deckbuilder is to make sure users are able to perform all function that are available within the deckbuilder. If a user is unable to complete a particular task that means we have not made it clear on how to perform that task and redesign will be considered to improve this area.

Tasks

  • Add/Remove a card from the deck
  • Rename a deck
  • Switch between decks
  • Search and add tutanquacker (minion)
  • Display action cards only

For each task record any comments the user makes, ask them about the difficulty of the task and how it could be improved. Also comment any observations you made from the users actions (errors they made, where they got stuck).

Tasks User comments Observations
Add and remove a card from the deck
Rename a deck
Switch to a different deck
Search and add Tutanquackum (Minion Card)
Display all action cards only

To view all the results from this user testing visit this link: https://docs.google.com/document/d/18IvOdwoRaG53eZ5N0iJWEq8O0aflpzQocFo3UNS_YOc/edit?usp=sharing

Results

We use the tests to find out what was working with the current deckbuilder and what wasn't. From the information gathered we found the following parts of the deckbuilder needed improvement.

  • Adding a card
  • Switching decks

Adding a card

When it came to adding a card, plenty of users struggled to come to the conclusion that double clicking would add the card they wanted. The main suggestions we received to help users understand this was to implement a tutorial on how to use the deckbuilder, use tooltips or having the ability to drag and drop a card into their deck. To combat this issue we decided we will be creating a drag and drop function which will make it easy for users to add cards to their deck. We decided on this as it is something that a lot of our users naturally tried and it is implemented in popular games such as hearthstone.

Switching Decks

Being able to switch decks was something that was easy for some users however other users really struggled. The users that struggled to complete the task, struggled because there seemed to be two different area where they could change the deck. One seemed to work and the other didn't. The main suggestion was to clarify the screen by removing one of the options. The way in which we went about this problem is we removed the tabs at the bottom of the deckbuilder and at the top of the user's deck added a drop down menu which featured the current name of their deck and all their other decks below it.

Home

Saving and Loading

Statistics tracking

Game Play

APIs


Game Guide

Other Guides

Design Guides

Overviews

Features

Animations

Splash Screen & Create Account Screen

Player Account Settings

AI

Duck Dust


Brainstorming


Future Development


http://cultofthepartyparrot.com/parrots/partyparrot.gifhttp://cultofthepartyparrot.com/parrots/partyparrot.gifhttp://cultofthepartyparrot.com/parrots/partyparrot.gifhttp://cultofthepartyparrot.com/parrots/partyparrot.gif

Clone this wiki locally