Moved definition of what robots have which stats into the player interface

This commit is contained in:
Fraser Graham
2016-07-13 16:04:48 -06:00
parent 70adb5b713
commit 35cb8431f6
6 changed files with 273 additions and 148 deletions
+10 -3
View File
@@ -27,6 +27,7 @@ var serverHostname = flag.String("server", "localhost", "server hostname")
var port = flag.Int("port", 8666, "server port")
var botname = flag.String("name", "gobot", "the name that other players will see")
var forceJSON = flag.Bool("json", false, "force json encoding")
var botType = flag.String("bot", "simple", "which Bot")
func main() {
rand.Seed(time.Now().UnixNano())
@@ -58,11 +59,17 @@ func main() {
ForceJSON: *forceJSON,
StateStream: make(chan *server.Boardstate),
Die: make(chan struct{}),
Player: client.NewSimplePlayer(800, 600),
}
switch *botType {
case "simple":
c.Player = client.NewSimplePlayer(800, 600, c.StatsReq)
case "fraserbot":
c.Player = client.NewFraserbot("Fraserbot", c.StatsReq)
}
var err error
err = c.Negotiate("robot")
err = c.Negotiate("robot", c.Player)
if err != nil {
fmt.Fprintf(os.Stderr, "%s: failed to negociate: %s\n", c.Name, err)
os.Exit(1)