blob: 7f3fa7612df75997cd021301ba9d29ac2fd31f7b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
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
}
|