package game import ( "sakura/engine/player" "sakura/engine/pool" ) type Game struct { Shadow *pool.Pool Distance *pool.Pool Yin *player.Player Yang *player.Player Must []player.PlayerAction May []player.PlayerAction } func (g *Game) propagate() { g.Distance.OverflowsTo = g.Shadow } func New() *Game { g := &Game{ Shadow: pool.New(0, pool.Infinite), Distance: pool.New(0, 10), Must: nil, May: nil, } g.Yin = player.New(g) g.Yang = player.New(g) g.propagate() return g }