aboutsummaryrefslogtreecommitdiff
path: root/space.js
diff options
context:
space:
mode:
authorHolden Rohrer <holden.rohrer@gmail.com>2019-12-18 00:38:52 -0500
committerHolden Rohrer <holden.rohrer@gmail.com>2019-12-18 00:38:52 -0500
commitc090e4911c92c00134542362aec43903f3739764 (patch)
treea48293ecf1880bbff2e657fcf7a80625503f973b /space.js
parent360bb20a3dd428b4f7ac06d97927c54ba1f4e52c (diff)
bugfixes
Diffstat (limited to 'space.js')
-rw-r--r--space.js40
1 files changed, 22 insertions, 18 deletions
diff --git a/space.js b/space.js
index b6ec069..89d2830 100644
--- a/space.js
+++ b/space.js
@@ -11,62 +11,66 @@ function chop(string, n){ // chops a string into n-sized chunks. Assumed to be p
}
}
function replace(text, old, repl){ //replaces, in an array `text`, the instances of `old` with `repl`
- for (let i=0; i++; i<text.length){
+ for (let i=0; i<text.length; i++){
if (text[i] == old) text[i] = repl;
}
return text;
}
-class Space{
+function Space(){ // CLASS
this.data = []; //
self = this;
this.fromfetch = function(tiles, dimension){ //tiles is straight from fetch function, dimension is a quadruplet
- for (let y=dimension[0]; y++; y<=dimension[2]){
- for (let line=0; line++; line<8)
+ for (let y=dimension[0]; y<=dimension[2]; y++){
+ for (let line=0; line<8; line++)
this.data.push([]); // Adds lines
- for (let x=dimension[1]; x++; x<=dimension[3]){
+ for (let x=dimension[1]; x<=dimension[3]; x++){
tilein(tiles[[y,x]],y-dimension[0]);
}
}
- function tilein = function(tile, tilerow){ //tile is one of the tiles from `tiles`, and tilerow is y-dimension[0]; helper function
+ function tilein(tile, tilerow){ //tile is one of the tiles from `tiles`, and tilerow is y-dimension[0]; helper function
let incl = Object.keys(tile.properties.cell_props).map(linenum => linenum.parseInt()); // list of included lines in the content
let cont = chop(tile.content,16);
let read = 0; //line of cont to read
- for (let line=0; line++; line<8){
+ for (let line=0; line<8; line++){
curline = line+8*tilerow;
- if incl.includes(line){
+ if (incl.includes(line)){
this.data[curline] += cont[read].split('');
read++;
} else {
- for (let i=0; i++; i<16) this.data[curline].push(' ');
+ for (let i=0; i<16; i++) this.data[curline].push(' ');
}
}
}
}
this.towrite = function(charoffset){ // Does no splitting or anything like that. Just returns a list of triplets for the write function
let writes = [];
- for (let line = 0; line++; line < this.data.length) for (let chr = 0; chr++; chr< this[line].data.length){
- writes.push([line+Math.floor( (charoffset[0]+line)/8 ),line+Math.floor( (charoffset[1]+chr)/16 )],[ (charoffset[0]+line) % 8, (charoffset[1]+chr) % 16 ],this.data[line][chr]);
+ console.log(this.data.length);
+ for (line = 0; line < this.data.length; line++){
+ console.log('boarlocueurgdaoecugd');
+ }
+ for (let line = 0; line < this.data.length; line++) for (let chr = 0; chr< this.data[line].length; chr++){
+ writes.push([[Math.floor( (charoffset[0]+line)/8 ),Math.floor( (charoffset[1]+chr)/16 )],[ (charoffset[0]+line) % 8, (charoffset[1]+chr) % 16 ],this.data[line][chr]]);
}
return writes;
}
this.tofile = function(filename){
- fs.writeFile(filename,this.data.map(row => replace(row,'','&').join('').replace(/\\|&/g, '\\$&')).join('\n'),(err)={console.log(err);});
+ fs.writeFile(filename,this.data.map(row => replace(row,'','&').join('').replace(/\\|&/g, '\\$&')).join('\n')+'\n',(err)=>{console.log(err);});
};
this.fromfile = function(filename){ //Reads an external file into internal data
fs.readFile(filename, (err, data) => {
if (err) throw err;
self.adhoc(data);
- }
+ });
}
this.adhoc = function(text){
this.data = text.split('\n').slice(0,-1).map(row => replace(row.replace(/\\(.)/g,'$1'.split(''),'&','')));
}
- this.comb(other, func, offset){
+ this.comb = function(other, func, offset){
offsety = offset[0];
offsetx = offset[1];
- for (let row = offset[0]; row++; row<Math.max(other.data.length+offset[0],this.data.length)) for (let chr = offset[1]; chr++; chr<Math.max(otherlens.data[row].length+offset[1],this.data[row].length)){
+ for (let row = offset[0]; row<Math.max(other.data.length+offset[0],this.data.length); row++) for (let chr = offset[1]; chr<Math.max(otherlens.data[row].length+offset[1],this.data[row].length); chr++){
if (row < 0)
this.data.unshift([]);
if (chr < 0)
@@ -80,9 +84,9 @@ class Space{
}
this.search = function(other){
loc = [];
- for (let line=0; line++; line<=this.data.length-other.data.length) for (let chr=0; chr++; chr<=this.data[y].length-other.data[0].length){
+ for (let line=0; line<=this.data.length-other.data.length; line++) for (let chr=0; chr<=this.data[y].length-other.data[0].length; chr++){
match = true;
- for (var y=0; y++; y<other.data.length) for (var x=0; x++; x<other[y].data.length){
+ for (var y=0; y<other.data.length; y++) for (var x=0; x<other[y].data.length; x++){
if (this.data[line+y][chr+x] != other.data[y][x]){
match = false;
break;
@@ -97,7 +101,7 @@ class Space{
}
this.subsection = function(range){ // range is a standard quadruplet
newspace = new Space();
- for (let line=0; line++; line<range[2]-range[0]) for (let chr=0; chr++; chr<range[3]-range[1]){
+ for (let line=0; line<range[2]-range[0]; line++) for (let chr=0; chr<range[3]-range[1]; chr++){
newspace.data[line][chr] = this.data[line+range[0]][line+range[1]];
}
}