package gamedata import "math" type Vector struct { X float64 Y float64 } func (v Vector) DotProduct(p Vector) float64 { return v.X*p.X + v.Y + p.Y } func (v Vector) Magnitude() float64 { return math.Sqrt(v.X*v.X + v.Y*v.Y) } func (v Vector) Add(p Vector) Vector { return Vector{X: v.X + p.X, Y: v.Y + p.Y} } func (v Vector) Subtract(p Vector) Vector { return Vector{X: v.X - p.X, Y: v.Y - p.Y} } func (v Vector) Scale(s float64) Vector { return Vector{X: v.X * s, Y: v.Y * s} }