-
Notifications
You must be signed in to change notification settings - Fork 0
Deckbuilding
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.
- An unowned card
- An owned card
- A gridPane row for a card in the current deck, contains;
- number of copies in the deck
- card name
- remove button
- A comboBox to switch between decks to build
- A button to edit the current deck name
- The size of the current deck
- A textField to filter cards by
- A toggleButton to filter minion cards
- A toggleButton to filter action cards
- A toggleButton to filter owned cards
#i will refer to screen item i from above
- Double click an owned card (#2) that you want to add
- 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
- Click #4 and choose the deck you want to build
- if switching from a deck that is not saved all changes will be lost
- Click #5 and type the new deck name into the textField that appears as shown below
- Press enter to submit the change
There are 3 filters that you can apply to cards displayed
- Filter by card name: Type some characters into #7 that the card names should contain, blank will not filter by name
- 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
- 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
Deck
represents an immutable list of cards to be used in the game
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 |
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
is a mutable list of cards which can be added to and taken from
Parameters | Description |
---|---|
none |
A CardList with no cards is created |
Deck deck |
A CardList with cards from deck is created |
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
is an immutable representation of a Card
being/to be displayed on a screen
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
|
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
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
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.
- 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
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
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.
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.
Saving and Loading
Statistics tracking
- Statistics Tracking Overview
- Statistics Tracking
- User Statistics
- Champion Statistics
- Common Statistics
Game Play
APIs
- Section One: Pyramid Scheme Beginner's Guide
- Section Two: Getting Started
- Section Three: The Pyramid
- Section Four: Game Layout Explanation
- Section Five: Cards
- Section Six: Champions
- Section Seven: DuckDust
- Section: Eight: How to play Pyramid Scheme
- Section Nine: Ways to play
- Section Ten: Deck Building
- Section Eleven: How to Acquire Cards
- Section Twelve: Achievements
- Section Thirteen: Accessories
Other Guides
Design Guides
Overviews
- Architecture Overview
- UI Overview
- Main Menu Screen Overview
- Standardised Screen Graphics
- Overview of Graphics
Features
- Story Mode
- Cutscenes
- Beginners Guide Tutorial
- Clock
- Deckbuilding
- Card Deck Gallery
- Champion Roster
- Market Place
- Card Packs
- Game Settings
- Tool-tips
Animations
Splash Screen & Create Account Screen
Player Account Settings
AI
Duck Dust
Brainstorming
- Brainstorming - General
- Brainstorming - UI
- Brainstorming - Mechanics
- Brainstorming - Pyramid Design Discussion
- Brainstorming - Champions, Abilities and Design Mock-up
- Brainstorming - Achievement
Future Development