marcbreitung / problem-map-generator

Problem Map Generator

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Problem Map Generator

Build Status Coverage Status

Creates a graph with column x row nodes with nearest neighbors as child nodes and randomizes the node position and the number of child nodes. Useful for testing search problems. The id for every node is generated form the column and row and separated with a hyphen (e.g. '1-2').

Usage

Include the minified javascript in your HTML.

<script src="js/problem-map-generator.min.js"></script>

Or use the node module version.

var ProblemMapGenerator = require('problem-map-generator.node.min')

Map

var map = new ProblemMapGenerator.Map({'cols': 2, 'rows': 2, 'width': 10, 'height': 10});
map.injectRandom(ProblemMapGenerator.Random);
map.getNodes(); // Returns the generated nodes as array

Possible Attributes

Attribute Type Default Value Description
cols integer 10 number of nodes in x direction
rows integer 10 number of nodes in y direction
width integer 100 map width
height integer 100 map height

Nodes

var nodeA = new ProblemMapGenerator.Node('0-0', new ProblemMapGenerator.Point(0, 0), new ProblemMapGenerator.Point(0, 0));
var nodeB = new ProblemMapGenerator.Node('1-0', new ProblemMapGenerator.Point(1, 0), new ProblemMapGenerator.Point(10, 0));
var nodeC = new ProblemMapGenerator.Node('1-1', new ProblemMapGenerator.Point(1, 1), new ProblemMapGenerator.Point(10, 10));
    
nodeA.addChildNode(nodeB);
nodeA.addChildNodes([nodeB, nodeC]);

nodeA.removeChildNode(nodeB);
nodeA.removeChildNodes([nodeB, nodeC]);

Point

var point = new ProblemMapGenerator.Point(1,2);

About

Problem Map Generator

License:MIT License


Languages

Language:JavaScript 98.5%Language:HTML 1.5%