tome_lib/card.go

52 lines
1011 B
Go

package tome_lib
import (
"fmt"
"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(p int) *Card {
return &Card{
Type: EmptyValue,
BasePower: -1,
Power: -1,
Id: uuid.New(),
Sick: false,
Counters: 0,
Owner: -1,
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)
}