Documentation ¶
Overview ¶
Package deck contains card actions such as creating new deck of cards, sorting cards functions, ...
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // Spade card type Spade = Suit{ // contains filtered or unexported fields } // Diamond card type Diamond = Suit{ // contains filtered or unexported fields } // Club card type Club = Suit{ // contains filtered or unexported fields } // Hearth card type Hearth = Suit{ // contains filtered or unexported fields } // BlackJoker card type BlackJoker = Suit{ // contains filtered or unexported fields } // RedJoker card type RedJoker = Suit{ // contains filtered or unexported fields } )
Functions ¶
Types ¶
type Card ¶
Card from a deck
Example ¶
fmt.Println(Card{Suit: Spade, Rank: King}) fmt.Println(Card{Suit: Diamond, Rank: Queen}) fmt.Println(Card{Suit: Hearth, Rank: Eight}) fmt.Println(Card{Suit: RedJoker})
Output: King of Spade Queen of Diamond Eight of Hearth RedJoker
func AddJokers ¶
AddJokers adds jokers to the deck
Example ¶
for _, card := range AddJokers([]Card{ Card{Suit: Hearth, Rank: Two}, }) { fmt.Println(card) }
Output: Two of Hearth BlackJoker RedJoker
func DefaultSort ¶
DefaultSort cards
Example ¶
for _, card := range DefaultSort([]Card{ Card{Suit: Hearth, Rank: Two}, Card{Suit: Spade, Rank: Queen}, Card{Suit: Spade, Rank: Four}, Card{Suit: Diamond, Rank: Ace}, Card{Suit: Club, Rank: Ten}, }) { fmt.Println(card) }
Output: Four of Spade Queen of Spade Ace of Diamond Ten of Club Two of Hearth
func Shuffle ¶
Shuffle cards
Example ¶
for _, card := range Shuffle([]Card{ Card{Suit: Hearth, Rank: Two}, Card{Suit: Spade, Rank: Queen}, Card{Suit: Spade, Rank: Four}, Card{Suit: Diamond, Rank: Ace}, Card{Suit: Club, Rank: Ten}, }) { fmt.Println(card) }
Output: Ten of Club Queen of Spade Four of Spade Two of Hearth Ace of Diamond
func (Card) ToASCII ¶
ToASCII renders the card in ASCII art
Example ¶
fmt.Println(strings.Join(Card{Suit: Spade, Rank: Ten}.ToASCII(), "\n")) fmt.Println(strings.Join(Card{Suit: Diamond, Rank: Eight}.ToASCII(), "\n")) fmt.Println(strings.Join(Card{Suit: Club, Rank: Jack}.ToASCII(), "\n")) fmt.Println(strings.Join(Card{Suit: Hearth, Rank: Ace}.ToASCII(), "\n")) fmt.Println(strings.Join(Card{Suit: BlackJoker}.ToASCII(), "\n")) fmt.Println(strings.Join(Card{Suit: RedJoker}.ToASCII(), "\n")) fmt.Println(strings.Join(Card{Suit: Spade, Rank: Five, Hidden: true}.ToASCII(), "\n"))
Output: ┌────────┐ │10 . │ │ / \ │ │ (_,_) │ │ I 10│ └────────┘ ┌────────┐ │8 /\ │ │ / \ │ │ \ / │ │ \/ 8│ └────────┘ ┌────────┐ │J _ │ │ ( ) │ │ (_x_) │ │ Y J│ └────────┘ ┌────────┐ │A _ _ │ │ ( \/ ) │ │ \ / │ │ \/ A│ └────────┘ ┌────────┐ │* \||/ K│ │J /~~\ O│ │O( o o)J│ │K \ v/ *│ └────────┘ ┌────────┐ │+ \||/ K│ │J /~~\ O│ │O( o o)J│ │K \ v/ +│ └────────┘ ┌────────┐ │████████│ │████████│ │████████│ │████████│ └────────┘
type Rank ¶
type Rank int
Rank of a card
const ( // Ace of card Ace Rank // Two of card Two // Three of card Three // Four of card Four // Five of card Five // Six of card Six // Seven of card Seven // Eight of card Eight // Nine of card Nine // Ten of card Ten // Jack of card Jack // Queen of card Queen // King of card King )
type Suit ¶
type Suit struct {
// contains filtered or unexported fields
}
Suit represents the type of card Setting all properties to private to make it immutable
func (Suit) ASCIITemplate ¶
ASCIITemplate of the card suit in ASCII
Click to show internal directories.
Click to hide internal directories.