Coder Social home page Coder Social logo

go-cards's Introduction

Go Cards

Forked from https://github.com/vinigracindo/go-cards to be able to tag and import it.

package main

import (
	"fmt"

	"github.com/carloscasalar/go-cards/v2/pkg"
)

func main() {
    numberOfDecks := 1
    // Create a Dealer with numberOfDecks=1 Deck (52 cards)
    dealer := dealer.NewDealer(numberOfDecks)

    // Shuffle Cards
    // Seed: time.Now().UnixNano()
    dealer.ShuffleCards()

    // Burn a card from the top of the deck
    dealer.BurnCard()

    // Deal a card to the player (top of the deck)
    card, _ := dealer.Deal()
}
dealer := dealer.NewDealer(numberOfDecks)
fmt.Println(dealer.Deck.Cards)
[
 2[♠] 3[♠] 4[♠] 5[♠] 6[♠] 7[♠] 8[♠] 9[♠] 10[♠] J[♠] Q[♠] K[♠] A[♠] 
 2[♥] 3[♥] 4[♥] 5[♥] 6[♥] 7[♥] 8[♥] 9[♥] 10[♥] J[♥] Q[♥] K[♥] A[♥] 
 2[♦] 3[♦] 4[♦] 5[♦] 6[♦] 7[♦] 8[♦] 9[♦] 10[♦] J[♦] Q[♦] K[♦] A[♦] 
 2[♣] 3[♣] 4[♣] 5[♣] 6[♣] 7[♣] 8[♣] 9[♣] 10[♣] J[♣] Q[♣] K[♣] A[♣]
]
dealer.ShuffleCards()
fmt.Println(dealer.Deck.Cards)
# Random Result
[
 2[♦] 9[♣] 2[♥] 7[♥] K[♠] 7[♦] 2[♠] 8[♠] 9[♥] 7[♣] K[♣] 6[♣] Q[♠] 
 2[♣] 6[♦] K[♦] J[♣] A[♣] 5[♣] A[♥] 6[♥] Q[♣] K[♥] 3[♥] A[♠] 5[♥] 
 8[♦] 3[♦] 4[♣] 9[♦] 3[♠] 6[♠] 4[♥] A[♦] 4[♠] 7[♠] 10[♣] Q[♥] 8[♣] 
 10[♠] Q[♦] 5[♠] J[♥] 10[♥] 8[♥] 10[♦] J[♠] 5[♦] 4[♦] 3[♣] J[♦] 9[♠]
]
dealer.BurnCard()
fmt.Println(dealer.Deck.Cards)
# Remove Last
[
    2[♦] 9[♣] 2[♥] 7[♥] K[♠] 7[♦] 2[♠] 8[♠] 9[♥] 7[♣] K[♣] 6[♣] Q[♠] 
    2[♣] 6[♦] K[♦] J[♣] A[♣] 5[♣] A[♥] 6[♥] Q[♣] K[♥] 3[♥] A[♠] 5[♥] 
    8[♦] 3[♦] 4[♣] 9[♦] 3[♠] 6[♠] 4[♥] A[♦] 4[♠] 7[♠] 10[♣] Q[♥] 8[♣] 
    10[♠] Q[♦] 5[♠] J[♥] 10[♥] 8[♥] 10[♦] J[♠] 5[♦] 4[♦] 3[♣] J[♦]
]
card, err := dealer.Deal()
fmt.Println("Card: ", card)
fmt.Println("Deck: ", card)
fmt.Println(dealer.Deck.Cards)
Card: J[♦]
Deck:
[
 2[♦] 9[♣] 2[♥] 7[♥] K[♠] 7[♦] 2[♠] 8[♠] 9[♥] 7[♣] K[♣] 6[♣] Q[♠] 
 2[♣] 6[♦] K[♦] J[♣] A[♣] 5[♣] A[♥] 6[♥] Q[♣] K[♥] 3[♥] A[♠] 5[♥] 
 8[♦] 3[♦] 4[♣] 9[♦] 3[♠] 6[♠] 4[♥] A[♦] 4[♠] 7[♠] 10[♣] Q[♥] 8[♣] 
 10[♠] Q[♦] 5[♠] J[♥] 10[♥] 8[♥] 10[♦] J[♠] 5[♦] 4[♦] 3[♣]
]

go-cards's People

Contributors

carloscasalar avatar vinigracindo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.