coffee
by chris richarde
HTML
<input type="button" onclick="createGraph();" value="coffe coffee coffee" />
<p id="nodes"></p>
<p id="edges"></p>
JavaScript
var Node =function (name){
this.name=name;
this.edges=[];
return this;
}
var Edge=function(cost){
this.sou=null;
this.dest=null;
this.cost=null;
return this;
}
var Graph = function (){
this.nodes=[];
this.edges=[];
this.addNode=function(name){
var node=new Node(name);
this.nodes.push(node);
return node;
}
this.addEdge=function(sou,dest,cost){
var edge =new Edge(cost);
edge.sou=sou;
edge.dest=dest;
edge.cost=cost;
this.edges.push(edge);
return edge;
}
this.makeNodes=function(){
var a = "Nodes<br>";
for(var i =0;i<this.nodes.length;i++){
a=a+"node "+i+ "=>" +this.nodes[i].name+"<br>";
}
return a;
}
this.makeEdges=function (){
var e = "Edges <br>";
for(var i =0;i<this.edges.length;i++){
e+="edge "+i+ "|| "+this.edges[i].sou.name+ " => "+ this.edges[i].dest.name+ " cost "+ this.edges[i].cost+"<br>";
}
return e;
}
}
var List=document.getElementById("nodes");
var graph=new Graph();
function createGraph(){
var c1 = graph.addNode('C');
var c2 = graph.addNode('C');
var c3 = graph.addNode('C');
var c4 = graph.addNode('C');
var c5 = graph.addNode('C');
var c6 = graph.addNode('C');
var c7 = graph.addNode('C');
var c8 = graph.addNode('C');
var h1 = graph.addNode('H');
var h2 = graph.addNode('H');
var h3 = graph.addNode('H');
var h4 = graph.addNode('H');
var h5 = graph.addNode('H');
var h6 = graph.addNode('H');
var h7 = graph.addNode('H');
var h8 = graph.addNode('H');
var h9 = graph.addNode('H');
var h10 = graph.addNode('H');
var o1 = graph.addNode('O');
var o2 = graph.addNode('O');
var n1 = graph.addNode('N');
var n2 = graph.addNode('N');
var n3 = graph.addNode('N');
var n4 = graph.addNode('N');
graph.addEdge(c1, h1, 1);
graph.addEdge(c1, h2, 1);
graph.addEdge(c1, h3, 1);
graph.addEdge(c1, n1, 1);
graph.addEdge(n1, c2, 1);
graph.addEdge(n1, c5, 1);
graph.addEdge(c2, o1, 2);
graph.addEdge(c2, c4, 1);
graph.addEdge(c4, n2,...