package main import ( "flag" "log" "math/rand" "sync" "time" ) var hp = flag.Int("hp", 50, "") var speed = flag.Int("speed", 50, "") var acceleration = flag.Int("acceleration", 50, "") var weaponRadius = flag.Int("wrad", 50, "weapon radius") var scannerRadius = flag.Int("srad", 50, "scanner radius") var fireRate = flag.Int("fire-rate", 50, "scanner radius") // XXX: add TurnSpeed, WeaponDamage, WeaponSpeed var server = flag.String("server", "hackerbots.us", "server hostname") var port = flag.Int("port", 8666, "server port") var botname = flag.String("name", "gobot", "the name that other players will see") var botcount = flag.Int("bots", 1, "number of bots to spin up") var verbose = flag.Bool("verbose", false, "run verbosly") func main() { rand.Seed(time.Now().UnixNano()) var gameName string flag.Parse() if flag.NArg() < 1 { gameName = "debug" } else { gameName = flag.Arg(0) } // XXX: add TurnSpeed, WeaponDamage, WeaponSpeed var wg sync.WaitGroup for i := 0; i < *botcount; i++ { r, err := NewRobot( *server, *port, gameName, *hp, *speed, *acceleration, *weaponRadius, *scannerRadius, *fireRate, ) if err != nil { log.Fatal(err) } log.Printf("my robot: %+v", r) go r.play() wg.Add(1) } wg.Wait() }