package tome_lib import ( "fmt" "log" "github.com/google/uuid" ) type Card struct { Type CardType `json:"type"` BasePower int `json:"base_power"` Power int `json:"power"` Id uuid.UUID `json:"id"` Sick bool `json:"sick"` Counters int `json:"counters"` Owner int `json:"owner"` Position int `json:"position"` Spell bool `json:"spell"` Token bool `json:"token"` Phased bool `json:"phased"` Effects []*Effect `json:"effects"` } func NewEmpty(o, p int) *Card { if o != ScourgeID && o != SentinalID { log.Printf("Need valid owner for empty card:%v", o) panic("err") return nil } return &Card{ Type: EmptyValue, BasePower: -1, Power: -1, Id: uuid.New(), Sick: false, Counters: 0, Owner: o, Position: p, Spell: false, Token: false, Phased: false, Effects: []*Effect{}, } } func (c *Card) Empty() bool { return c.Type == EmptyValue } func (c *Card) String() string { ready := " " if c.Sick { ready = "*" } return fmt.Sprintf("%v%v%v", c.Type, c.Power, ready) }