jweinst1
6/13/2016 - 7:04 AM

building a grid of nodes in javascript

building a grid of nodes in javascript

//constructing a grid of nodes

//grid node object
var GridNode = function(){
	this.element = null;
	this.up = null;
	this.down = null;
	this.left = null;
	this.right = null;
};

//makes one grid line
function line(len){
	var grid = new GridNode();
	var current = grid;
	for(var i=0;i<len;i++){
		current.right = new GridNode();
		current.right.left = current;
		current = current.right;
	}
	return grid;
}

//fuses two lines together
function fuseLines(l1, l2){
	var c1 = l1;
	var c2 = l2;
	while(c1 !== null || c2 !== null){
		c1.up = c2;
		c2.down = c1;
		c1 = c1.right;
		c2 = c2.right;
	}
}

function makeGrid(size){
	var origin = line(size);
	var current = origin;
	for(var i=0;i<size;i++){
		var newline = line(size);
		fuseLines(current, newline);
		current = newline;
	}
	return origin;
}