From bb96f8882328ef9aca6defdfc2d5b30894f99849 Mon Sep 17 00:00:00 2001 From: Daniel Brunner <0xFEEDC0DE64@gmail.com> Date: Wed, 30 Nov 2016 11:52:10 +0100 Subject: [PATCH] Implemented table with entities --- index.html | 4 +- script.js | 488 +++++++++++++++++++++++++++-------------------------- 2 files changed, 254 insertions(+), 238 deletions(-) diff --git a/index.html b/index.html index b1d5778..6c8aedd 100644 --- a/index.html +++ b/index.html @@ -125,7 +125,7 @@
diff --git a/script.js b/script.js index db634b7..be8edef 100644 --- a/script.js +++ b/script.js @@ -1,258 +1,274 @@ class Vector2 { - constructor(vec, y) { - if(typeof vec === "undefined" && - typeof y === "undefined") { - this.x = 0; - this.y = 0; - } else if(typeof vec === "number" && - typeof y === "undefined") { - this.x = vec; - this.y = vec; - } else if(typeof vec === "number" && - typeof y === "number") { - this.x = vec; - this.y = y; - } else if(typeof vec === "object" && vec.constructor == Vector2) { - this.x = vec.getX() - this.y = vec.getY(); - } else - throw 'Vector2::constructor(): Invalid types ' + (typeof vec) + ' ' + (typeof y); - } - - getX() { - return this.x; - } - - getY() { - return this.y; - } - - setX(x) { - if(typeof x !== "number") - throw 'Vector2::setX(): Invalid type ' + (typeof x); - - this.x = x; - } - - setY(y) { - if(typeof y !== "number") - throw 'Vector2::setY(): Invalid type ' + (typeof y); - - this.y = y; - } + constructor(vec, y) { + if(typeof vec === "undefined" && + typeof y === "undefined") { + this.x = 0; + this.y = 0; + } else if(typeof vec === "number" && + typeof y === "undefined") { + this.x = vec; + this.y = vec; + } else if(typeof vec === "number" && + typeof y === "number") { + this.x = vec; + this.y = y; + } else if(typeof vec === "object" && vec.constructor == Vector2) { + this.x = vec.getX() + this.y = vec.getY(); + } else + throw 'Vector2::constructor(): Invalid types ' + (typeof vec) + ' ' + (typeof y); + } + + getX() { + return this.x; + } + + getY() { + return this.y; + } + + setX(x) { + if(typeof x !== "number") + throw 'Vector2::setX(): Invalid type ' + (typeof x); + + this.x = x; + } + + setY(y) { + if(typeof y !== "number") + throw 'Vector2::setY(): Invalid type ' + (typeof y); + + this.y = y; + } - add(vec, y) { - if(typeof vec === "number" && - typeof y === "undefined") { - return new Vector2( - this.x + vec, - this.y + vec - ); - } else if(typeof vec === "number" && - typeof y === "number") { - return new Vector2( - this.x + vec, - this.y + y - ); - } else if(typeof vec === "object" && vec.constructor == Vector2) { - return new Vector2( - this.x + vec.getX(), - this.y + vec.getY() - ); - } else - throw 'Vector2::add(): Invalid types ' + (typeof vec) + ' ' + (typeof y); - } + add(vec, y) { + if(typeof vec === "number" && + typeof y === "undefined") { + return new Vector2( + this.x + vec, + this.y + vec + ); + } else if(typeof vec === "number" && + typeof y === "number") { + return new Vector2( + this.x + vec, + this.y + y + ); + } else if(typeof vec === "object" && vec.constructor == Vector2) { + return new Vector2( + this.x + vec.getX(), + this.y + vec.getY() + ); + } else + throw 'Vector2::add(): Invalid types ' + (typeof vec) + ' ' + (typeof y); + } - sub(vec, y) { - if(typeof vec === "number" && - typeof y === "undefined") { - return new Vector2( - this.x - vec, - this.y - vec - ); - } else if(typeof vec === "number" && - typeof y === "number") { - return new Vector2( - this.x - vec, - this.y - y - ); - } else if(typeof vec === "object" && vec.constructor == Vector2) { - return new Vector2( - this.x - vec.getX(), - this.y - vec.getY() - ); - } else - throw 'Vector2::sub(): Invalid types ' + (typeof vec) + ' ' + (typeof y); - } + sub(vec, y) { + if(typeof vec === "number" && + typeof y === "undefined") { + return new Vector2( + this.x - vec, + this.y - vec + ); + } else if(typeof vec === "number" && + typeof y === "number") { + return new Vector2( + this.x - vec, + this.y - y + ); + } else if(typeof vec === "object" && vec.constructor == Vector2) { + return new Vector2( + this.x - vec.getX(), + this.y - vec.getY() + ); + } else + throw 'Vector2::sub(): Invalid types ' + (typeof vec) + ' ' + (typeof y); + } - mul(vec, y) { - if(typeof vec === "number" && - typeof y === "undefined") { - return new Vector2( - this.x * vec, - this.y * vec - ); - } else if(typeof vec === "number" && - typeof y === "number") { - return new Vector2( - this.x * vec, - this.y * y - ); - } else if(typeof vec === "object" && vec.constructor == Vector2) { - return new Vector2( - this.x * vec.getX(), - this.y * vec.getY() - ); - } else - throw 'Vector2::mul(): Invalid types ' + (typeof vec) + ' ' + (typeof y); - } + mul(vec, y) { + if(typeof vec === "number" && + typeof y === "undefined") { + return new Vector2( + this.x * vec, + this.y * vec + ); + } else if(typeof vec === "number" && + typeof y === "number") { + return new Vector2( + this.x * vec, + this.y * y + ); + } else if(typeof vec === "object" && vec.constructor == Vector2) { + return new Vector2( + this.x * vec.getX(), + this.y * vec.getY() + ); + } else + throw 'Vector2::mul(): Invalid types ' + (typeof vec) + ' ' + (typeof y); + } - div(vec, y) { - if(typeof vec === "number" && - typeof y === "undefined") { - return new Vector2( - this.x / vec, - this.y / vec - ); - } else if(typeof vec === "number" && - typeof y === "number") { - return new Vector2( - this.x / vec, - this.y / y - ); - } else if(typeof vec === "object" && vec.constructor == Vector2) { - return new Vector2( - this.x / vec.getX(), - this.y / vec.getY() - ); - } else - throw 'Vector2::div(): Invalid types ' + (typeof vec) + ' ' + (typeof y); - } - - length() { - return Math.sqrt(this.x * this.x + this.y * this.y); - } + div(vec, y) { + if(typeof vec === "number" && + typeof y === "undefined") { + return new Vector2( + this.x / vec, + this.y / vec + ); + } else if(typeof vec === "number" && + typeof y === "number") { + return new Vector2( + this.x / vec, + this.y / y + ); + } else if(typeof vec === "object" && vec.constructor == Vector2) { + return new Vector2( + this.x / vec.getX(), + this.y / vec.getY() + ); + } else + throw 'Vector2::div(): Invalid types ' + (typeof vec) + ' ' + (typeof y); + } + + length() { + return Math.sqrt(this.x * this.x + this.y * this.y); + } }; $(document).ready(function($) { - var entities = []; + var entities = []; - class Entity { - constructor() { - this.position = new Vector2(); - this.speed = new Vector2(); - this.elem = $('