logging and infinite melee

This commit is contained in:
Stephen McQuay 2013-09-27 00:03:32 -07:00
parent 13c0cd047b
commit 472e2011b9
3 changed files with 9 additions and 7 deletions

View File

@ -45,7 +45,6 @@ func NewGame(id string, width, height float64) *game {
}
func (g *game) run() {
started := false
var t0, t1 time.Time
payload := bot.NewBoardstate()
for {
@ -61,7 +60,6 @@ func (g *game) run() {
return
case p := <-g.register:
g.players[p] = true
started = true
case p := <-g.unregister:
delete(g.players, p)
close(p.send)
@ -74,9 +72,6 @@ func (g *game) run() {
// XXX: This is very racy!! It was at bottom of loop and empty
// stuff was going out
payload.EmptySlices()
if started && len(g.players) == 0 {
g.kill <- true
}
g.turn++
payload.Turn = g.turn

View File

@ -123,7 +123,7 @@ func addPlayer(ws *websocket.Conn) {
}()
go p.sender()
p.recv()
log.Printf("game %s: %v has been disconnect from this game\n", gid, p.Robot.Id)
log.Printf("game %s: player %v has been disconnected from this game\n", gid.Id, p.Robot.Id)
} else {
s := &Spectator{
send: make(chan *bot.Boardstate),
@ -134,6 +134,6 @@ func addPlayer(ws *websocket.Conn) {
game.sunregister <- s
}()
s.sender()
log.Printf("%+v has been disconnect from this game\n", s)
log.Printf("game %s: spectator %+v has been disconnected from this game\n", s)
}
}

View File

@ -4,6 +4,7 @@ import (
"bitbucket.org/hackerbots/bot"
"code.google.com/p/go.net/websocket"
"errors"
"log"
)
func Negociate(ws *websocket.Conn, id string, width, height float64) (*bot.Config, error) {
@ -20,12 +21,14 @@ func Negociate(ws *websocket.Conn, id string, width, height float64) (*bot.Confi
return nil, errors.New("could not parse id")
}
if v, msg := clientid.Valid(); !v {
log.Printf("clientid is invalid: %+v", clientid)
websocket.JSON.Send(
ws,
bot.NewFailure(msg),
)
return nil, errors.New(msg)
}
log.Printf("clientid: %+v", clientid)
gameParam := bot.NewGameParam(width, height)
err = websocket.JSON.Send(ws, gameParam)
@ -33,11 +36,15 @@ func Negociate(ws *websocket.Conn, id string, width, height float64) (*bot.Confi
websocket.JSON.Send(ws, bot.NewFailure("generic server error"))
return nil, err
}
log.Printf("gameparam: %+v", gameParam)
switch clientid.Type {
case "robot":
var conf bot.Config
log.Printf("got here?")
for {
log.Printf("%s Waiting for client to send conf ...", id)
err = websocket.JSON.Receive(ws, &conf)
log.Printf("conf received: %+v", conf)
if err != nil {
return nil, err
}