diff options
Diffstat (limited to 'engine/player/player.go')
| -rw-r--r-- | engine/player/player.go | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/engine/player/player.go b/engine/player/player.go new file mode 100644 index 0000000..9dece55 --- /dev/null +++ b/engine/player/player.go @@ -0,0 +1,34 @@ +package player + +import ( + "sakura/engine/card" + "sakura/engine/game" + "sakura/engine/pool" +) + +type Player struct { + Game *game.Game + Vigour *Vigour + Life *pool.Pool + Aura *pool.Pool + Flare *pool.Pool + MasterDeck []*card.Card + Ultimates []*card.Card +} + +func (p *Player) propagate(g *game.Game) { + p.Game = g + p.Aura.SubtractsTo = g.Shadow + p.Flare.SubtractsTo = g.Shadow + p.Life.SubtractsTo = p.Flare +} + +func New(g *game.Game) *Player { + p := &Player{ + Life: pool.New(pool.Empty, 10), + Aura: pool.New(3, 5), + Flare: pool.New(pool.Empty, pool.Infinite), + } + p.propagate(g) + return p +} |
