summaryrefslogtreecommitdiff
path: root/engine/player/player.go
diff options
context:
space:
mode:
authorewy <ewy0@protonmail.com>2026-09-11 15:00:48 +0200
committerewy <ewy0@protonmail.com>2026-09-11 15:00:48 +0200
commitc69e6c0770359e2febafcf487eb21c4aa608c3e9 (patch)
treed1f4ac93b2bca7b4df62d698fde91ed15371c6c7 /engine/player/player.go
initial commit
Diffstat (limited to 'engine/player/player.go')
-rw-r--r--engine/player/player.go34
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
+}