/card

A French-suited playing cards library for Go

Primary LanguageGoMIT LicenseMIT

card

Go Reference CI Codecov

A French-suited playing cards library for Go.

Install

go get github.com/makabe/card

Example

package main

import (
	"fmt"
	"math/rand"
	"time"

	"github.com/makabe/card"
)

func suitAscRankAsc(c1, c2 card.Card) int {
	return int(c1) - int(c2)
}

func main() {
	// create new deck
	deck := card.NewStandardDeck()

	// shuffle deck
	r := rand.New(rand.NewSource(time.Now().UnixNano()))
	deck = deck.Shuffle(r)

	// deal hands
	pHand, deck := deck.Take(5)
	oHand, _ := deck.Take(5)

	// sort hands
	pHand = pHand.Sort(suitAscRankAsc)
	oHand = oHand.Sort(suitAscRankAsc)

	// print
	fmt.Println("You:", pHand)
	fmt.Println("Opponent:", oHand)
}

License

MIT