summaryrefslogtreecommitdiff
path: root/engine/game.go
diff options
context:
space:
mode:
Diffstat (limited to 'engine/game.go')
-rw-r--r--engine/game.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/engine/game.go b/engine/game.go
index 0ed93e2..19880f0 100644
--- a/engine/game.go
+++ b/engine/game.go
@@ -13,6 +13,8 @@ type Game struct {
Stack []IsCard
Actions map[InteractionID]Action
+
+ CurrentPlayer *Player
}
func (g *Game) propagate() {
@@ -28,6 +30,7 @@ func NewGame() *Game {
g.Yin = NewPlayer(g)
g.Yang = NewPlayer(g)
g.propagate()
+ g.NextTurn()
return g
}
@@ -45,3 +48,19 @@ func (g *Game) Winner() *Player {
}
return nil
}
+
+func (g *Game) NextTurn() {
+ current := g.CurrentPlayer.Opponent(g)
+ g.CurrentPlayer = current
+ g.Actions = Interactions(&ShuffleDeck{
+ &BaseAction{
+ User: current,
+ BaseSource: nil,
+ },
+ }, &DrawCard{
+ &BaseAction{
+ User: current,
+ BaseSource: nil,
+ },
+ })
+}