diff --git a/game.go b/game.go index aa25d95..346b4f9 100644 --- a/game.go +++ b/game.go @@ -10,7 +10,7 @@ import ( const maxPlayer = 128 type Config struct { - ID string `json:"id"` + ID string `json:"id"` Name string `json:"name"` // TODO: candidate for embedding? Stats Stats `json:"stats"` @@ -187,7 +187,7 @@ func (g *game) run() { func (g *game) nudgeProjectiles() (rprojectiles []Projectile) { rprojectiles = make([]Projectile, 0) for p := range g.projectiles { - newPos := v.Move(p.Position, p.MoveTo, float64(p.Speed), delta) + newPos := move(p.Position, p.MoveTo, float64(p.Speed), delta) hit_player := false for player := range g.players { diff --git a/geom.go b/geom.go new file mode 100644 index 0000000..90b6d80 --- /dev/null +++ b/geom.go @@ -0,0 +1,12 @@ +package main + +import ( + "bitbucket.org/hackerbots/vector" +) + +func move(d1, d2 govector.Point2d, velocity float64, timeDelta float64) govector.Point2d { + v := d2.Sub(d1) + v_norm := v.Normalize() + v_scaled := v_norm.Scale(velocity * timeDelta) + return d1.Add(v_scaled) +} diff --git a/robot.go b/robot.go index a82049f..a9173c8 100644 --- a/robot.go +++ b/robot.go @@ -1,7 +1,6 @@ package main import ( - v "bitbucket.org/hackerbots/vector" )