v0.10.0
Class: Hand
A hand of Cards.
✅ Attribute Support
This class manages a player’s hand of cards, including their cards and attributes. It provides methods for adding and removing cards, clearing the hand, and managing hand attributes.
Table of contents
Constructors
Methods
- addCard
- clear
- getAttribute
- getCards
- getFullState
- getHiddenCards
- getId
- getVisibleCards
- getVisibleState
- hasAttribute
- removeCard
- setAttribute
Constructors
constructor
• new Hand(id?): Hand
Parameters
| Name | Type | Default value |
|---|---|---|
id | string | 'main' |
Returns
Methods
addCard
▸ addCard(card): void
Adds a card to the hand.
Parameters
| Name | Type | Description |
|---|---|---|
card | Object | The card to add. |
card.card | Card | - |
Returns
void
clear
▸ clear(deck?): void
Clears the hand.
Parameters
| Name | Type | Description |
|---|---|---|
deck | Object | Optional deck to discard cards to when clearing the hand |
deck.deck? | Deck | - |
Returns
void
getAttribute
▸ getAttribute(key): unknown
Gets an attribute from the hand.
Parameters
| Name | Type | Description |
|---|---|---|
key | Object | The key of the attribute to get. |
key.key | string | - |
Returns
unknown
The value of the attribute or null if the attribute does not exist.
getCards
▸ getCards(): Card[]
Gets all cards in the hand.
Returns
Card[]
A copy of the cards in the hand.
getFullState
▸ getFullState(): unknown
Returns a complete representation of the hand, including hidden cards. This should ONLY be sent to the player who owns this hand.
Returns
unknown
A complete representation of the hand.
getHiddenCards
▸ getHiddenCards(): Card[]
Gets all hidden cards in the hand.
Returns
Card[]
A copy of the hidden cards in the hand.
getId
▸ getId(): string
Gets the ID of the hand.
Returns
string
The ID of the hand.
getVisibleCards
▸ getVisibleCards(): Card[]
Gets all visible cards in the hand.
Returns
Card[]
A copy of the visible cards in the hand.
getVisibleState
▸ getVisibleState(): unknown
Returns a representation of the hand that is safe to send to clients. Only includes visible cards and attributes.
Returns
unknown
A representation of the hand that is safe to send to clients.
hasAttribute
▸ hasAttribute(key): boolean
Checks if the hand has an attribute.
Parameters
| Name | Type | Description |
|---|---|---|
key | Object | The key of the attribute to check. |
key.key | string | - |
Returns
boolean
True if the attribute exists, false otherwise.
removeCard
▸ removeCard(index): null | Card
Removes a card from the hand.
Parameters
| Name | Type | Description |
|---|---|---|
index | Object | The index of the card to remove. |
index.index | number | - |
Returns
null | Card
The removed card or null if the index is out of bounds.
setAttribute
▸ setAttribute(«destructured»): void
Sets an attribute on the hand.
Parameters
| Name | Type |
|---|---|
«destructured» | Object |
› key | string |
› value | unknown |
Returns
void