From 899ef7448222f0d087c194b3379b702f8dd2ff8c Mon Sep 17 00:00:00 2001 From: ewy Date: Mon, 14 Sep 2026 19:48:36 +0200 Subject: add server and websocket comms --- engine/player.go | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 engine/player.go (limited to 'engine/player.go') diff --git a/engine/player.go b/engine/player.go new file mode 100644 index 0000000..5f1d7ca --- /dev/null +++ b/engine/player.go @@ -0,0 +1,42 @@ +package engine + +import ( + "sakura/engine/pool" +) + +type Player struct { + Game *Game `json:"-"` + Vigour Vigour + Life *pool.Pool + Aura *pool.Pool + Flare *pool.Pool + Hand Stack + MasterDeck Stack + Ultimates []*Card +} + +func (p *Player) Opponent(g *Game) *Player { + if p == g.Yin { + return g.Yang + } else { + return g.Yin + } +} + +func (p *Player) propagate(g *Game) { + p.Game = g + p.Aura.SubtractsTo = g.Shadow + p.Flare.SubtractsTo = g.Shadow + p.Life.SubtractsTo = p.Flare +} + +func NewPlayer(g *Game) *Player { + p := &Player{ + Life: pool.New(pool.Empty, 10), + Aura: pool.New(3, 5), + Flare: pool.New(pool.Empty, pool.Infinite), + Vigour: Vigour(0), + } + p.propagate(g) + return p +} -- cgit v1.3.1