|
|
@ -17,6 +17,7 @@ type game struct { |
|
|
|
spectators map[*Spectator]bool |
|
|
|
sregister chan *Spectator |
|
|
|
sunregister chan *Spectator |
|
|
|
kill chan bool |
|
|
|
} |
|
|
|
|
|
|
|
func NewGame() *game { |
|
|
@ -30,6 +31,7 @@ func NewGame() *game { |
|
|
|
spectators: make(map[*Spectator]bool), |
|
|
|
sregister: make(chan *Spectator), |
|
|
|
sunregister: make(chan *Spectator), |
|
|
|
kill: make(chan bool), |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -66,6 +68,8 @@ func (g *game) run() { |
|
|
|
|
|
|
|
for { |
|
|
|
select { |
|
|
|
case <-g.kill: |
|
|
|
return |
|
|
|
case p := <-g.register: |
|
|
|
g.players[p] = true |
|
|
|
case p := <-g.unregister: |
|
|
|