diff options
author | Holden Rohrer <holden.rohrer@gmail.com> | 2020-01-07 10:03:31 -0500 |
---|---|---|
committer | Holden Rohrer <holden.rohrer@gmail.com> | 2020-01-07 10:03:31 -0500 |
commit | ecd45c98374fd9bdef33c7a0caeecc2bab594c04 (patch) | |
tree | eaa0dc8d3abfda0911c8096c86e2a4de54b7e24d | |
parent | 03dfd44147de472de4f06c3a0ae9f40471e7352a (diff) |
vec.equals comparator
-rw-r--r-- | examples/jarvis.js | 6 | ||||
-rw-r--r-- | utils/vec.js | 16 |
2 files changed, 12 insertions, 10 deletions
diff --git a/examples/jarvis.js b/examples/jarvis.js index 49c425a..2294d7a 100644 --- a/examples/jarvis.js +++ b/examples/jarvis.js @@ -12,17 +12,13 @@ const ri = require('../utils/rectintersect'); var main = new Socket(); -function equals(arg1,arg2){ // Just takes the specific case argument of each being an int pair - return arg1[0] == arg2[0] && arg1[1] == arg2[1] -} - main.on('open', ()=>{ // Tries to identify itself with a cursor movement console.log('socket opened'); let coords = [Math.floor(Math.random()*100000+16),Math.floor(Math.random()*100000+16)]; main.cursor(coords); main.on('cursor',detect); function detect(pos, send){ - if (equals(pos[0],coords)){ + if (vec.equals(pos[0],coords)){ main.off('cursor', detect); identity(send); } diff --git a/utils/vec.js b/utils/vec.js index 3996fc2..d595989 100644 --- a/utils/vec.js +++ b/utils/vec.js @@ -6,23 +6,29 @@ exports.mult = function(vec, scal){ return vec; } -function elem(orig, vec, op){ +exports.elem = function(orig, vec, op){ let comb = []; for (let i = 0; i < orig.length; i++){ comb.push(op(vec[i],orig[i])); } return comb; } -exports.elem = elem; + +exports.equals = function(orig, vec){ + for (let i = 0; i < orig.length; i++){ + if (orig[i] != vec[i]) return false; + } + return true; +} exports.add = function(orig, vec){ - return elem(orig, vec, (a,b) => a+b); + return exports.elem(orig, vec, (a,b) => a+b); } exports.sub = function(orig, vec){ - return elem(orig, vec, (a,b) => a-b); + return exports.elem(orig, vec, (a,b) => a-b); } exports.dot = function(orig,vec){ - return elem(orig, vec, (a,b) => a*b); + return exports.elem(orig, vec, (a,b) => a*b); } exports.tileToChar = function(orig){ return exports.dot(orig, [8,16]); |