cards

package
v0.0.0-...-c97cfee Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 7, 2021 License: Unlicense Imports: 12 Imported by: 0

Documentation

Overview

Package cards generated by go-bindata.// sources: cards.json

Index

Constants

This section is empty.

Variables

View Source
var (
	AllCards   []Card
	AvailCards []Card // Like AllCards, but is modified when cards are removed from the deck
)

Functions

func Asset

func Asset(name string) ([]byte, error)

Asset loads and returns the asset for the given name. It returns an error if the asset could not be found or could not be loaded.

func AssetDir

func AssetDir(name string) ([]string, error)

AssetDir returns the file names below a certain directory embedded in the file by go-bindata. For example if you run go-bindata on data/... and data contains the following hierarchy:

data/
  foo.txt
  img/
    a.png
    b.png

then AssetDir("data") would return []string{"foo.txt", "img"} AssetDir("data/img") would return []string{"a.png", "b.png"} AssetDir("foo.txt") and AssetDir("nonexistent") would return an error AssetDir("") will return []string{"data"}.

func AssetInfo

func AssetInfo(name string) (os.FileInfo, error)

AssetInfo loads and returns the asset info for the given name. It returns an error if the asset could not be found or could not be loaded.

func AssetNames

func AssetNames() []string

AssetNames returns the names of the assets.

func MustAsset

func MustAsset(name string) []byte

MustAsset is like Asset but panics when Asset would return an error. It simplifies safe initialization of global variables.

func RestoreAsset

func RestoreAsset(dir, name string) error

RestoreAsset restores an asset under the given directory

func RestoreAssets

func RestoreAssets(dir, name string) error

RestoreAssets restores an asset under the given directory recursively

func SplitCards

func SplitCards(n int) (decks [][]Card)

SplitCards will create two decks of even size and return those. Cards returned are removed from the deck of all available cards

Types

type Card

type Card struct {
	Name string

	NumEngines int `readable:"Number of engines"` // <- this weird string thing is called a struct tag
	MaxPax     int `readable:"Maximum passenger count"`
	Range      int `readable:"Range"`
	Cost       int `readable:"Cost when new"`
}

func Deal

func Deal(n int) (deck []Card)

Deal will select n cards from the deck of available cards at random, remove them from that deck, and return them in a new mini-deck

func (Card) GetReadableNames

func (c Card) GetReadableNames() (names []string)

GetReadableNames iterates all attributes of a given card `c`, and generates a slice of any struct tag that has the readable field set. This is slightly confusing to do, but works well.

func (Card) GetValueByReadable

func (c Card) GetValueByReadable(readable string) int

GetValueByReadable takes the readable name of an attribute and returns the value of that attribute, if it exists. This assumes that only integer values have `readable` tags attached to them. If an attribute that is not an integer is read from by this function, it will panic and crash the application.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL