a JavaScript 2 dimensional linked list
// create a 2 x 2 tile map
var tileMap = new TileMap(2, [1, 2, 3, 4]);
// internal representation
null null
^ ^
| |
+ +
+------+ +------+
| |<-----+| |
null <---+| root | | |+---> null
| |+----->| |
+------+ +------+
+ ^ + ^
| | | |
v + v +
+------+ +------+
| |<-----+| |
null <---+| | | |+---> null
| |+----->| |
+------+ +------+
+ +
| |
v v
null null
data()get(key) // gets data value at keyset(key, val) // set data value at keygetNode(key) // get a node at direction key, 'n', 'e', 's', 'w'setNode(key, node) // set a node reference at keyhasNext()next()hasPrev()prev()hasUp()up()hasDown()down()
root() // returns the root tilesize()leftMost(tile) // returns the left most tile in relation to the given tiletopMost(tile) // returns the top most tile in relation to the given tileeach(function(tile){})find(function(tile){ return true; })
