export class Vector { constructor(x=0, y=0) { this.x = x this.y = y } add(newVector) { this.x += newVector.x this.y += newVector.y return this } normalize() { if (this.x != 0 && 0 != this.y) { let hyp = Math.abs(this.x) let cSquared = Math.pow(hyp, 2) / 2 let c = Math.sqrt(cSquared, 2) this.x = this.x / Math.abs(this.x) * c this.y = this.y / Math.abs(this.x) * c } return this } multiply(multiplier) { this.x *= multiplier this.y *= multiplier return this } clone() { return new Vector(this.x, this.y) } static division(vector_a, vector_b) { return new Vector( vector_a.x / vector_b.x, vector_a.y / vector_b.y ) } floor() { this.x = Math.floor(this.x) this.y = Math.floor(this.y) return this } }