Skip to content

Instantly share code, notes, and snippets.

@abperiasamy
Created June 9, 2014 11:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save abperiasamy/dff915d3413cd694ed20 to your computer and use it in GitHub Desktop.
Save abperiasamy/dff915d3413cd694ed20 to your computer and use it in GitHub Desktop.
// The Game of Y - Board structure captured a graphlib compatible graph.
// Copyright 2014, Hyperbotics
// Authors: Anand Babu Periasamy <ab@unlocksmith.org>,
// INSERT YOUR NAME HERE;
// License: GNU AGPL v2 or later.
TheGameOfY_Graph = function() {
var graph = require('graphlib').Graph;
this.graph = new graph();
this.load();
}
// Load the board structure as nodes and edges of a graph.
TheGameOfY_Graph.prototype.load = function() {
this.graph.graph('The Game of Y');
/* Add Nodes */
for (var i = 1; i <= 24; i++) {
if (i <= 3)
this.graph.addNode('A' + i, 0);
if (i <= 12)
this.graph.addNode('B' + i, 0);
if (i <= 15)
this.graph.addNode('C' + i, 0);
if (i <= 18)
this.graph.addNode('D' + i, 0);
if (i <= 21)
this.graph.addNode('E' + i, 0);
this.graph.addNode('F' + i, 0);
}
/* Add Edges */
this.graph.addEdge('A1-B2', 'A1', 'B2', 1);
this.graph.addEdge('A1-B3', 'A1', 'B3', 1);
this.graph.addEdge('A1-A2', 'A1', 'A2', 1);
this.graph.addEdge('A1-A3', 'A1', 'A3', 1);
this.graph.addEdge('A1-B11', 'A1', 'B11', 1);
this.graph.addEdge('A1-B12', 'A1', 'B12', 1);
this.graph.addEdge('A2-B3', 'A2', 'B3', 1);
this.graph.addEdge('A2-B4', 'A2', 'B4', 1);
this.graph.addEdge('A2-B6', 'A2', 'B6', 1);
this.graph.addEdge('A2-B7', 'A2', 'B7', 1);
this.graph.addEdge('A2-A3', 'A2', 'A3', 1);
this.graph.addEdge('A2-A1', 'A2', 'A1', 1);
this.graph.addEdge('A3-A1', 'A3', 'A1', 1);
this.graph.addEdge('A3-A2', 'A3', 'A2', 1);
this.graph.addEdge('A3-B7', 'A3', 'B7', 1);
this.graph.addEdge('A3-B8', 'A3', 'B8', 1);
this.graph.addEdge('A3-B10', 'A3', 'B10', 1);
this.graph.addEdge('A3-B11', 'A3', 'B11', 1);
this.graph.addEdge('B1-C1', 'B1', 'C1', 1);
this.graph.addEdge('B1-C2', 'B1', 'C2', 1);
this.graph.addEdge('B1-B2', 'B1', 'B2', 1);
this.graph.addEdge('B1-B12', 'B1', 'B12', 1);
this.graph.addEdge('B1-C15', 'B1', 'C15', 1);
this.graph.addEdge('B2-C2', 'B2', 'C2', 1);
this.graph.addEdge('B2-C3', 'B2', 'C3', 1);
this.graph.addEdge('B2-B3', 'B2', 'B3', 1);
this.graph.addEdge('B2-A1', 'B2', 'A1', 1);
this.graph.addEdge('B2-B12', 'B2', 'B12', 1);
this.graph.addEdge('B2-B1', 'B2', 'B1', 1);
this.graph.addEdge('B3-C3', 'B3', 'C3', 1);
this.graph.addEdge('B3-C4', 'B3', 'C4', 1);
this.graph.addEdge('B3-B4', 'B3', 'B4', 1);
this.graph.addEdge('B3-A2', 'B3', 'A2', 1);
this.graph.addEdge('B3-A1', 'B3', 'A1', 1);
this.graph.addEdge('B3-B2', 'B3', 'B2', 1);
this.graph.addEdge('B4-C4', 'B4', 'C4', 1);
this.graph.addEdge('B4-C5', 'B4', 'C5', 1);
this.graph.addEdge('B4-B5', 'B4', 'B5', 1);
this.graph.addEdge('B4-B6', 'B4', 'B6', 1);
this.graph.addEdge('B4-A2', 'B4', 'A2', 1);
this.graph.addEdge('B4-B3', 'B4', 'B3', 1);
this.graph.addEdge('B5-C5', 'B5', 'C5', 1);
this.graph.addEdge('B5-C6', 'B5', 'C6', 1);
this.graph.addEdge('B5-C7', 'B5', 'C7', 1);
this.graph.addEdge('B5-B6', 'B5', 'B6', 1);
this.graph.addEdge('B5-B4', 'B5', 'B4', 1);
this.graph.addEdge('B6-B4', 'B6', 'B4', 1);
this.graph.addEdge('B6-B5', 'B6', 'B5', 1);
this.graph.addEdge('B6-C7', 'B6', 'C7', 1);
this.graph.addEdge('B6-C8', 'B6', 'C8', 1);
this.graph.addEdge('B6-B7', 'B6', 'B7', 1);
this.graph.addEdge('B6-A2', 'B6', 'A2', 1);
this.graph.addEdge('B7-A2', 'B7', 'A2', 1);
this.graph.addEdge('B7-B6', 'B7', 'B6', 1);
this.graph.addEdge('B7-C8', 'B7', 'C8', 1);
this.graph.addEdge('B7-C9', 'B7', 'C9', 1);
this.graph.addEdge('B7-B8', 'B7', 'B8', 1);
this.graph.addEdge('B7-A3', 'B7', 'A3', 1);
this.graph.addEdge('B8-A3', 'B8', 'A3', 1);
this.graph.addEdge('B8-B7', 'B8', 'B7', 1);
this.graph.addEdge('B8-C9', 'B8', 'C9', 1);
this.graph.addEdge('B8-C10', 'B8', 'C10', 1);
this.graph.addEdge('B8-B9', 'B8', 'B9', 1);
this.graph.addEdge('B8-B10', 'B8', 'B10', 1);
this.graph.addEdge('B9-B10', 'B9', 'B10', 1);
this.graph.addEdge('B9-B8', 'B9', 'B8', 1);
this.graph.addEdge('B9-C10', 'B9', 'C10', 1);
this.graph.addEdge('B9-C11', 'B9', 'C11', 1);
this.graph.addEdge('B9-C12', 'B9', 'C12', 1);
this.graph.addEdge('B10-B11', 'B10', 'B11', 1);
this.graph.addEdge('B10-A3', 'B10', 'A3', 1);
this.graph.addEdge('B10-B8', 'B10', 'B8', 1);
this.graph.addEdge('B10-B9', 'B10', 'B9', 1);
this.graph.addEdge('B10-C12', 'B10', 'C12', 1);
this.graph.addEdge('B10-C13', 'B10', 'C13', 1);
this.graph.addEdge('B11-B12', 'B11', 'B12', 1);
this.graph.addEdge('B11-A1', 'B11', 'A1', 1);
this.graph.addEdge('B11-A3', 'B11', 'A3', 1);
this.graph.addEdge('B11-B10', 'B11', 'B10', 1);
this.graph.addEdge('B11-C13', 'B11', 'C13', 1);
this.graph.addEdge('B11-C14', 'B11', 'C14', 1);
this.graph.addEdge('B12-B1', 'B12', 'B1', 1);
this.graph.addEdge('B12-B2', 'B12', 'B2', 1);
this.graph.addEdge('B12-A1', 'B12', 'A1', 1);
this.graph.addEdge('B12-B11', 'B12', 'B11', 1);
this.graph.addEdge('B12-C14', 'B12', 'C14', 1);
this.graph.addEdge('B12-C15', 'B12', 'C15', 1);
this.graph.addEdge('C1-D1', 'C1', 'D1', 1);
this.graph.addEdge('C1-D2', 'C1', 'D2', 1);
this.graph.addEdge('C1-C2', 'C1', 'C2', 1);
this.graph.addEdge('C1-B1', 'C1', 'B1', 1);
this.graph.addEdge('C1-C15', 'C1', 'C15', 1);
this.graph.addEdge('C1-D18', 'C1', 'D18', 1);
this.graph.addEdge('C2-D2', 'C2', 'D2', 1);
this.graph.addEdge('C2-D3', 'C2', 'D3', 1);
this.graph.addEdge('C2-C3', 'C2', 'C3', 1);
this.graph.addEdge('C2-B2', 'C2', 'B2', 1);
this.graph.addEdge('C2-B1', 'C2', 'B1', 1);
this.graph.addEdge('C2-C1', 'C2', 'C1', 1);
this.graph.addEdge('C3-D3', 'C3', 'D3', 1);
this.graph.addEdge('C3-D4', 'C3', 'D4', 1);
this.graph.addEdge('C3-C4', 'C3', 'C4', 1);
this.graph.addEdge('C3-B3', 'C3', 'B3', 1);
this.graph.addEdge('C3-B2', 'C3', 'B2', 1);
this.graph.addEdge('C3-C2', 'C3', 'C2', 1);
this.graph.addEdge('C4-D4', 'C4', 'D4', 1);
this.graph.addEdge('C4-D5', 'C4', 'D5', 1);
this.graph.addEdge('C4-C5', 'C4', 'C5', 1);
this.graph.addEdge('C4-B4', 'C4', 'B4', 1);
this.graph.addEdge('C4-B3', 'C4', 'B3', 1);
this.graph.addEdge('C4-C3', 'C4', 'C3', 1);
this.graph.addEdge('C5-D5', 'C5', 'D5', 1);
this.graph.addEdge('C5-D6', 'C5', 'D6', 1);
this.graph.addEdge('C5-C6', 'C5', 'C6', 1);
this.graph.addEdge('C5-B5', 'C5', 'B5', 1);
this.graph.addEdge('C5-B4', 'C5', 'B4', 1);
this.graph.addEdge('C5-C4', 'C5', 'C4', 1);
this.graph.addEdge('C6-D6', 'C6', 'D6', 1);
this.graph.addEdge('C6-D7', 'C6', 'D7', 1);
this.graph.addEdge('C6-D8', 'C6', 'D8', 1);
this.graph.addEdge('C6-C7', 'C6', 'C7', 1);
this.graph.addEdge('C6-B5', 'C6', 'B5', 1);
this.graph.addEdge('C6-C5', 'C6', 'C5', 1);
this.graph.addEdge('C7-B5', 'C7', 'B5', 1);
this.graph.addEdge('C7-C6', 'C7', 'C6', 1);
this.graph.addEdge('C7-D8', 'C7', 'D8', 1);
this.graph.addEdge('C7-D9', 'C7', 'D9', 1);
this.graph.addEdge('C7-C8', 'C7', 'C8', 1);
this.graph.addEdge('C7-B6', 'C7', 'B6', 1);
this.graph.addEdge('C8-B6', 'C8', 'B6', 1);
this.graph.addEdge('C8-C7', 'C8', 'C7', 1);
this.graph.addEdge('C8-D9', 'C8', 'D9', 1);
this.graph.addEdge('C8-D10', 'C8', 'D10', 1);
this.graph.addEdge('C8-C9', 'C8', 'C9', 1);
this.graph.addEdge('C8-B7', 'C8', 'B7', 1);
this.graph.addEdge('C9-B7', 'C9', 'B7', 1);
this.graph.addEdge('C9-C8', 'C9', 'C8', 1);
this.graph.addEdge('C9-D10', 'C9', 'D10', 1);
this.graph.addEdge('C9-D11', 'C9', 'D11', 1);
this.graph.addEdge('C9-C10', 'C9', 'C10', 1);
this.graph.addEdge('C9-B8', 'C9', 'B8', 1);
this.graph.addEdge('C10-B8', 'C10', 'B8', 1);
this.graph.addEdge('C10-C9', 'C10', 'C9', 1);
this.graph.addEdge('C10-D11', 'C10', 'D11', 1);
this.graph.addEdge('C10-D12', 'C10', 'D12', 1);
this.graph.addEdge('C10-C11', 'C10', 'C11', 1);
this.graph.addEdge('C10-B9', 'C10', 'B9', 1);
this.graph.addEdge('C11-B9', 'C11', 'B9', 1);
this.graph.addEdge('C11-C10', 'C11', 'C10', 1);
this.graph.addEdge('C11-D12', 'C11', 'D12', 1);
this.graph.addEdge('C11-D13', 'C11', 'D13', 1);
this.graph.addEdge('C11-D14', 'C11', 'D14', 1);
this.graph.addEdge('C11-C12', 'C11', 'C12', 1);
this.graph.addEdge('C12-B10', 'C12', 'B10', 1);
this.graph.addEdge('C12-B9', 'C12', 'B9', 1);
this.graph.addEdge('C12-C11', 'C12', 'C11', 1);
this.graph.addEdge('C12-D14', 'C12', 'D14', 1);
this.graph.addEdge('C12-D15', 'C12', 'D15', 1);
this.graph.addEdge('C12-C13', 'C12', 'C13', 1);
this.graph.addEdge('C13-B11', 'C13', 'B11', 1);
this.graph.addEdge('C13-B10', 'C13', 'B10', 1);
this.graph.addEdge('C13-C12', 'C13', 'C12', 1);
this.graph.addEdge('C13-D15', 'C13', 'D15', 1);
this.graph.addEdge('C13-D16', 'C13', 'D16', 1);
this.graph.addEdge('C13-C14', 'C13', 'C14', 1);
this.graph.addEdge('C14-B12', 'C14', 'B12', 1);
this.graph.addEdge('C14-B11', 'C14', 'B11', 1);
this.graph.addEdge('C14-C13', 'C14', 'C13', 1);
this.graph.addEdge('C14-D16', 'C14', 'D16', 1);
this.graph.addEdge('C14-D17', 'C14', 'D17', 1);
this.graph.addEdge('C14-C15', 'C14', 'C15', 1);
this.graph.addEdge('C15-B1', 'C15', 'B1', 1);
this.graph.addEdge('C15-B12', 'C15', 'B12', 1);
this.graph.addEdge('C15-C14', 'C15', 'C14', 1);
this.graph.addEdge('C15-D17', 'C15', 'D17', 1);
this.graph.addEdge('C15-D18', 'C15', 'D18', 1);
this.graph.addEdge('C15-C1', 'C15', 'C1', 1);
this.graph.addEdge('D1-E2', 'D1', 'E2', 1);
this.graph.addEdge('D1-D2', 'D1', 'D2', 1);
this.graph.addEdge('D1-C1', 'D1', 'C1', 1);
this.graph.addEdge('D1-D18', 'D1', 'D18', 1);
this.graph.addEdge('D1-E21', 'D1', 'E21', 1);
this.graph.addEdge('D1-E1', 'D1', 'E1', 1);
this.graph.addEdge('D2-E3', 'D2', 'E3', 1);
this.graph.addEdge('D2-D3', 'D2', 'D3', 1);
this.graph.addEdge('D2-C2', 'D2', 'C2', 1);
this.graph.addEdge('D2-C1', 'D2', 'C1', 1);
this.graph.addEdge('D2-D1', 'D2', 'D1', 1);
this.graph.addEdge('D2-E2', 'D2', 'E2', 1);
this.graph.addEdge('D3-E4', 'D3', 'E4', 1);
this.graph.addEdge('D3-D4', 'D3', 'D4', 1);
this.graph.addEdge('D3-C3', 'D3', 'C3', 1);
this.graph.addEdge('D3-C2', 'D3', 'C2', 1);
this.graph.addEdge('D3-D2', 'D3', 'D2', 1);
this.graph.addEdge('D3-E3', 'D3', 'E3', 1);
this.graph.addEdge('D4-E5', 'D4', 'E5', 1);
this.graph.addEdge('D4-D5', 'D4', 'D5', 1);
this.graph.addEdge('D4-C4', 'D4', 'C4', 1);
this.graph.addEdge('D4-C3', 'D4', 'C3', 1);
this.graph.addEdge('D4-D3', 'D4', 'D3', 1);
this.graph.addEdge('D4-E4', 'D4', 'E4', 1);
this.graph.addEdge('D5-E6', 'D5', 'E6', 1);
this.graph.addEdge('D5-D6', 'D5', 'D6', 1);
this.graph.addEdge('D5-C5', 'D5', 'C5', 1);
this.graph.addEdge('D5-C4', 'D5', 'C4', 1);
this.graph.addEdge('D5-D4', 'D5', 'D4', 1);
this.graph.addEdge('D5-E5', 'D5', 'E5', 1);
this.graph.addEdge('D6-E7', 'D6', 'E7', 1);
this.graph.addEdge('D6-D7', 'D6', 'D7', 1);
this.graph.addEdge('D6-C6', 'D6', 'C6', 1);
this.graph.addEdge('D6-C5', 'D6', 'C5', 1);
this.graph.addEdge('D6-D5', 'D6', 'D5', 1);
this.graph.addEdge('D6-E6', 'D6', 'E6', 1);
this.graph.addEdge('D7-E7', 'D7', 'E7', 1);
this.graph.addEdge('D7-E8', 'D7', 'E8', 1);
this.graph.addEdge('D7-E9', 'D7', 'E9', 1);
this.graph.addEdge('D7-D8', 'D7', 'D8', 1);
this.graph.addEdge('D7-C6', 'D7', 'C6', 1);
this.graph.addEdge('D7-D6', 'D7', 'D6', 1);
this.graph.addEdge('D8-D7', 'D8', 'D7', 1);
this.graph.addEdge('D8-E9', 'D8', 'E9', 1);
this.graph.addEdge('D8-E10', 'D8', 'E10', 1);
this.graph.addEdge('D8-D9', 'D8', 'D9', 1);
this.graph.addEdge('D8-C7', 'D8', 'C7', 1);
this.graph.addEdge('D8-C6', 'D8', 'C6', 1);
this.graph.addEdge('D9-D8', 'D9', 'D8', 1);
this.graph.addEdge('D9-E10', 'D9', 'E10', 1);
this.graph.addEdge('D9-E11', 'D9', 'E11', 1);
this.graph.addEdge('D9-D10', 'D9', 'D10', 1);
this.graph.addEdge('D9-C8', 'D9', 'C8', 1);
this.graph.addEdge('D9-C7', 'D9', 'C7', 1);
this.graph.addEdge('D10-D9', 'D10', 'D9', 1);
this.graph.addEdge('D10-E11', 'D10', 'E11', 1);
this.graph.addEdge('D10-E12', 'D10', 'E12', 1);
this.graph.addEdge('D10-D11', 'D10', 'D11', 1);
this.graph.addEdge('D10-C9', 'D10', 'C9', 1);
this.graph.addEdge('D10-C8', 'D10', 'C8', 1);
this.graph.addEdge('D11-D10', 'D11', 'D10', 1);
this.graph.addEdge('D11-E12', 'D11', 'E12', 1);
this.graph.addEdge('D11-E13', 'D11', 'E13', 1);
this.graph.addEdge('D11-D12', 'D11', 'D12', 1);
this.graph.addEdge('D11-C10', 'D11', 'C10', 1);
this.graph.addEdge('D11-C9', 'D11', 'C9', 1);
this.graph.addEdge('D12-D11', 'D12', 'D11', 1);
this.graph.addEdge('D12-E13', 'D12', 'E13', 1);
this.graph.addEdge('D12-E14', 'D12', 'E14', 1);
this.graph.addEdge('D12-D13', 'D12', 'D13', 1);
this.graph.addEdge('D12-C11', 'D12', 'C11', 1);
this.graph.addEdge('D12-C10', 'D12', 'C10', 1);
this.graph.addEdge('D13-C10', 'D13', 'C10', 1);
this.graph.addEdge('D13-D12', 'D13', 'D12', 1);
this.graph.addEdge('D13-D13', 'D13', 'D13', 1);
this.graph.addEdge('D13-D14', 'D13', 'D14', 1);
this.graph.addEdge('D13-C12', 'D13', 'C12', 1);
this.graph.addEdge('D13-B9', 'D13', 'B9', 1);
this.graph.addEdge('D14-C12', 'D14', 'C12', 1);
this.graph.addEdge('D14-C11', 'D14', 'C11', 1);
this.graph.addEdge('D14-D13', 'D14', 'D13', 1);
this.graph.addEdge('D14-E16', 'D14', 'E16', 1);
this.graph.addEdge('D14-E17', 'D14', 'E17', 1);
this.graph.addEdge('D14-D15', 'D14', 'D15', 1);
this.graph.addEdge('D15-C13', 'D15', 'C13', 1);
this.graph.addEdge('D15-C12', 'D15', 'C12', 1);
this.graph.addEdge('D15-D14', 'D15', 'D14', 1);
this.graph.addEdge('D15-E17', 'D15', 'E17', 1);
this.graph.addEdge('D15-E18', 'D15', 'E18', 1);
this.graph.addEdge('D15-D16', 'D15', 'D16', 1);
this.graph.addEdge('D16-C14', 'D16', 'C14', 1);
this.graph.addEdge('D16-C13', 'D16', 'C13', 1);
this.graph.addEdge('D16-D15', 'D16', 'D15', 1);
this.graph.addEdge('D16-E18', 'D16', 'E18', 1);
this.graph.addEdge('D16-E19', 'D16', 'E19', 1);
this.graph.addEdge('D16-D17', 'D16', 'D17', 1);
this.graph.addEdge('D17-C15', 'D17', 'C15', 1);
this.graph.addEdge('D17-C14', 'D17', 'C14', 1);
this.graph.addEdge('D17-D16', 'D17', 'D16', 1);
this.graph.addEdge('D17-E19', 'D17', 'E19', 1);
this.graph.addEdge('D17-E20', 'D17', 'E20', 1);
this.graph.addEdge('D17-D18', 'D17', 'D18', 1);
this.graph.addEdge('D18-C1', 'D18', 'C1', 1);
this.graph.addEdge('D18-C15', 'D18', 'C15', 1);
this.graph.addEdge('D18-D17', 'D18', 'D17', 1);
this.graph.addEdge('D18-E20', 'D18', 'E20', 1);
this.graph.addEdge('D18-E21', 'D18', 'E21', 1);
this.graph.addEdge('D18-D1', 'D18', 'D1', 1);
this.graph.addEdge('E1-F2', 'E1', 'F2', 1);
this.graph.addEdge('E1-E2', 'E1', 'E2', 1);
this.graph.addEdge('E1-D1', 'E1', 'D1', 1);
this.graph.addEdge('E1-E21', 'E1', 'E21', 1);
this.graph.addEdge('E1-F24', 'E1', 'F24', 1);
this.graph.addEdge('E1-F1', 'E1', 'F1', 1);
this.graph.addEdge('E2-F3', 'E2', 'F3', 1);
this.graph.addEdge('E2-E3', 'E2', 'E3', 1);
this.graph.addEdge('E2-D2', 'E2', 'D2', 1);
this.graph.addEdge('E2-D1', 'E2', 'D1', 1);
this.graph.addEdge('E2-E1', 'E2', 'E1', 1);
this.graph.addEdge('E2-F2', 'E2', 'F2', 1);
this.graph.addEdge('E3-F4', 'E3', 'F4', 1);
this.graph.addEdge('E3-E4', 'E3', 'E4', 1);
this.graph.addEdge('E3-D3', 'E3', 'D3', 1);
this.graph.addEdge('E3-D2', 'E3', 'D2', 1);
this.graph.addEdge('E3-E2', 'E3', 'E2', 1);
this.graph.addEdge('E3-F3', 'E3', 'F3', 1);
this.graph.addEdge('E4-F5', 'E4', 'F5', 1);
this.graph.addEdge('E4-E5', 'E4', 'E5', 1);
this.graph.addEdge('E4-D4', 'E4', 'D4', 1);
this.graph.addEdge('E4-D3', 'E4', 'D3', 1);
this.graph.addEdge('E4-E3', 'E4', 'E3', 1);
this.graph.addEdge('E4-F4', 'E4', 'F4', 1);
this.graph.addEdge('E5-F6', 'E5', 'F6', 1);
this.graph.addEdge('E5-E6', 'E5', 'E6', 1);
this.graph.addEdge('E5-D5', 'E5', 'D5', 1);
this.graph.addEdge('E5-D4', 'E5', 'D4', 1);
this.graph.addEdge('E5-E4', 'E5', 'E4', 1);
this.graph.addEdge('E5-F5', 'E5', 'F5', 1);
this.graph.addEdge('E6-F7', 'E6', 'F7', 1);
this.graph.addEdge('E6-E7', 'E6', 'E7', 1);
this.graph.addEdge('E6-D6', 'E6', 'D6', 1);
this.graph.addEdge('E6-D5', 'E6', 'D5', 1);
this.graph.addEdge('E6-E5', 'E6', 'E5', 1);
this.graph.addEdge('E6-F6', 'E6', 'F6', 1);
this.graph.addEdge('E7-F8', 'E7', 'F8', 1);
this.graph.addEdge('E7-E8', 'E7', 'E8', 1);
this.graph.addEdge('E7-D7', 'E7', 'D7', 1);
this.graph.addEdge('E7-D6', 'E7', 'D6', 1);
this.graph.addEdge('E7-E6', 'E7', 'E6', 1);
this.graph.addEdge('E7-F7', 'E7', 'F7', 1);
this.graph.addEdge('E8-F9', 'E8', 'F9', 1);
this.graph.addEdge('E8-F10', 'E8', 'F10', 1);
this.graph.addEdge('E8-E9', 'E8', 'E9', 1);
this.graph.addEdge('E8-D7', 'E8', 'D7', 1);
this.graph.addEdge('E8-E7', 'E8', 'E7', 1);
this.graph.addEdge('E8-F8', 'E8', 'F8', 1);
this.graph.addEdge('E9-F10', 'E9', 'F10', 1);
this.graph.addEdge('E9-F11', 'E9', 'F11', 1);
this.graph.addEdge('E9-E10', 'E9', 'E10', 1);
this.graph.addEdge('E9-D8', 'E9', 'D8', 1);
this.graph.addEdge('E9-D7', 'E9', 'D7', 1);
this.graph.addEdge('E9-E8', 'E9', 'E8', 1);
this.graph.addEdge('E10-F11', 'E10', 'F11', 1);
this.graph.addEdge('E10-F12', 'E10', 'F12', 1);
this.graph.addEdge('E10-E11', 'E10', 'E11', 1);
this.graph.addEdge('E10-D9', 'E10', 'D9', 1);
this.graph.addEdge('E10-D8', 'E10', 'D8', 1);
this.graph.addEdge('E10-E9', 'E10', 'E9', 1);
this.graph.addEdge('E11-F12', 'E11', 'F12', 1);
this.graph.addEdge('E11-F13', 'E11', 'F13', 1);
this.graph.addEdge('E11-E12', 'E11', 'E12', 1);
this.graph.addEdge('E11-D10', 'E11', 'D10', 1);
this.graph.addEdge('E11-D9', 'E11', 'D9', 1);
this.graph.addEdge('E11-E10', 'E11', 'E10', 1);
this.graph.addEdge('E12-F13', 'E12', 'F13', 1);
this.graph.addEdge('E12-F14', 'E12', 'F14', 1);
this.graph.addEdge('E12-E13', 'E12', 'E13', 1);
this.graph.addEdge('E12-D11', 'E12', 'D11', 1);
this.graph.addEdge('E12-D10', 'E12', 'D10', 1);
this.graph.addEdge('E12-E11', 'E12', 'E11', 1);
this.graph.addEdge('E13-F14', 'E13', 'F14', 1);
this.graph.addEdge('E13-F15', 'E13', 'F15', 1);
this.graph.addEdge('E13-E14', 'E13', 'E14', 1);
this.graph.addEdge('E13-D12', 'E13', 'D12', 1);
this.graph.addEdge('E13-D11', 'E13', 'D11', 1);
this.graph.addEdge('E13-E12', 'E13', 'E12', 1);
this.graph.addEdge('E14-F15', 'E14', 'F15', 1);
this.graph.addEdge('E14-F16', 'E14', 'F16', 1);
this.graph.addEdge('E14-E15', 'E14', 'E15', 1);
this.graph.addEdge('E14-D13', 'E14', 'D13', 1);
this.graph.addEdge('E14-D12', 'E14', 'D12', 1);
this.graph.addEdge('E14-E13', 'E14', 'E13', 1);
this.graph.addEdge('E15-F16', 'E15', 'F16', 1);
this.graph.addEdge('E15-F17', 'E15', 'F17', 1);
this.graph.addEdge('E15-F18', 'E15', 'F18', 1);
this.graph.addEdge('E15-E16', 'E15', 'E16', 1);
this.graph.addEdge('E15-D13', 'E15', 'D13', 1);
this.graph.addEdge('E15-E14', 'E15', 'E14', 1);
this.graph.addEdge('E16-D14', 'E16', 'D14', 1);
this.graph.addEdge('E16-D13', 'E16', 'D13', 1);
this.graph.addEdge('E16-E15', 'E16', 'E15', 1);
this.graph.addEdge('E16-F18', 'E16', 'F18', 1);
this.graph.addEdge('E16-F19', 'E16', 'F19', 1);
this.graph.addEdge('E16-E17', 'E16', 'E17', 1);
this.graph.addEdge('E17-D15', 'E17', 'D15', 1);
this.graph.addEdge('E17-D14', 'E17', 'D14', 1);
this.graph.addEdge('E17-E16', 'E17', 'E16', 1);
this.graph.addEdge('E17-F19', 'E17', 'F19', 1);
this.graph.addEdge('E17-F20', 'E17', 'F20', 1);
this.graph.addEdge('E17-E18', 'E17', 'E18', 1);
this.graph.addEdge('E18-D16', 'E18', 'D16', 1);
this.graph.addEdge('E18-D15', 'E18', 'D15', 1);
this.graph.addEdge('E18-E17', 'E18', 'E17', 1);
this.graph.addEdge('E18-F20', 'E18', 'F20', 1);
this.graph.addEdge('E18-F21', 'E18', 'F21', 1);
this.graph.addEdge('E18-E19', 'E18', 'E19', 1);
this.graph.addEdge('E19-D17', 'E19', 'D17', 1);
this.graph.addEdge('E19-D16', 'E19', 'D16', 1);
this.graph.addEdge('E19-E18', 'E19', 'E18', 1);
this.graph.addEdge('E19-F21', 'E19', 'F21', 1);
this.graph.addEdge('E19-F22', 'E19', 'F22', 1);
this.graph.addEdge('E19-E20', 'E19', 'E20', 1);
this.graph.addEdge('E20-D18', 'E20', 'D18', 1);
this.graph.addEdge('E20-D17', 'E20', 'D17', 1);
this.graph.addEdge('E20-E19', 'E20', 'E19', 1);
this.graph.addEdge('E20-F22', 'E20', 'F22', 1);
this.graph.addEdge('E20-F23', 'E20', 'F23', 1);
this.graph.addEdge('E20-E21', 'E20', 'E21', 1);
this.graph.addEdge('E21-D1', 'E21', 'D1', 1);
this.graph.addEdge('E21-D18', 'E21', 'D18', 1);
this.graph.addEdge('E21-E20', 'E21', 'E20', 1);
this.graph.addEdge('E21-F23', 'E21', 'F23', 1);
this.graph.addEdge('E21-F24', 'E21', 'F24', 1);
this.graph.addEdge('E21-E1', 'E21', 'E1', 1);
this.graph.addEdge('F1-F2', 'F1', 'F2', 1);
this.graph.addEdge('F1-E1', 'F1', 'E1', 1);
this.graph.addEdge('F1-F24', 'F1', 'F24', 1);
this.graph.addEdge('F2-F3', 'F2', 'F3', 1);
this.graph.addEdge('F2-E2', 'F2', 'E2', 1);
this.graph.addEdge('F2-E1', 'F2', 'E1', 1);
this.graph.addEdge('F2-F1', 'F2', 'F1', 1);
this.graph.addEdge('F3-F4', 'F3', 'F4', 1);
this.graph.addEdge('F3-E3', 'F3', 'E3', 1);
this.graph.addEdge('F3-E2', 'F3', 'E2', 1);
this.graph.addEdge('F3-F2', 'F3', 'F2', 1);
this.graph.addEdge('F4-F5', 'F4', 'F5', 1);
this.graph.addEdge('F4-E4', 'F4', 'E4', 1);
this.graph.addEdge('F4-E3', 'F4', 'E3', 1);
this.graph.addEdge('F4-F3', 'F4', 'F3', 1);
this.graph.addEdge('F5-F6', 'F5', 'F6', 1);
this.graph.addEdge('F5-E5', 'F5', 'E5', 1);
this.graph.addEdge('F5-E4', 'F5', 'E4', 1);
this.graph.addEdge('F5-F4', 'F5', 'F4', 1);
this.graph.addEdge('F6-F7', 'F6', 'F7', 1);
this.graph.addEdge('F6-E6', 'F6', 'E6', 1);
this.graph.addEdge('F6-E5', 'F6', 'E5', 1);
this.graph.addEdge('F6-F5', 'F6', 'F5', 1);
this.graph.addEdge('F7-F8', 'F7', 'F8', 1);
this.graph.addEdge('F7-E7', 'F7', 'E7', 1);
this.graph.addEdge('F7-E6', 'F7', 'E6', 1);
this.graph.addEdge('F7-F6', 'F7', 'F6', 1);
this.graph.addEdge('F8-F9', 'F8', 'F9', 1);
this.graph.addEdge('F8-E8', 'F8', 'E8', 1);
this.graph.addEdge('F8-E7', 'F8', 'E7', 1);
this.graph.addEdge('F8-F7', 'F8', 'F7', 1);
this.graph.addEdge('F9-F10', 'F9', 'F10', 1);
this.graph.addEdge('F9-E8', 'F9', 'E8', 1);
this.graph.addEdge('F9-F8', 'F9', 'F8', 1);
this.graph.addEdge('F10-F11', 'F10', 'F11', 1);
this.graph.addEdge('F10-E9', 'F10', 'E9', 1);
this.graph.addEdge('F10-E8', 'F10', 'E8', 1);
this.graph.addEdge('F10-F9', 'F10', 'F9', 1);
this.graph.addEdge('F11-F12', 'F11', 'F12', 1);
this.graph.addEdge('F11-E10', 'F11', 'E10', 1);
this.graph.addEdge('F11-E9', 'F11', 'E9', 1);
this.graph.addEdge('F11-F10', 'F11', 'F10', 1);
this.graph.addEdge('F12-F13', 'F12', 'F13', 1);
this.graph.addEdge('F12-E11', 'F12', 'E11', 1);
this.graph.addEdge('F12-E10', 'F12', 'E10', 1);
this.graph.addEdge('F12-F11', 'F12', 'F11', 1);
this.graph.addEdge('F13-F14', 'F13', 'F14', 1);
this.graph.addEdge('F13-E12', 'F13', 'E12', 1);
this.graph.addEdge('F13-E11', 'F13', 'E11', 1);
this.graph.addEdge('F13-F12', 'F13', 'F12', 1);
this.graph.addEdge('F14-F15', 'F14', 'F15', 1);
this.graph.addEdge('F14-E13', 'F14', 'E13', 1);
this.graph.addEdge('F14-E12', 'F14', 'E12', 1);
this.graph.addEdge('F14-F13', 'F14', 'F13', 1);
this.graph.addEdge('F15-F16', 'F15', 'F16', 1);
this.graph.addEdge('F15-E14', 'F15', 'E14', 1);
this.graph.addEdge('F15-E13', 'F15', 'E13', 1);
this.graph.addEdge('F15-F14', 'F15', 'F14', 1);
this.graph.addEdge('F16-F17', 'F16', 'F17', 1);
this.graph.addEdge('F16-E15', 'F16', 'E15', 1);
this.graph.addEdge('F16-E14', 'F16', 'E14', 1);
this.graph.addEdge('F16-F15', 'F16', 'F15', 1);
this.graph.addEdge('F17-F18', 'F17', 'F18', 1);
this.graph.addEdge('F17-E15', 'F17', 'E15', 1);
this.graph.addEdge('F17-F16', 'F17', 'F16', 1);
this.graph.addEdge('F18-F19', 'F18', 'F19', 1);
this.graph.addEdge('F18-E16', 'F18', 'E16', 1);
this.graph.addEdge('F18-E15', 'F18', 'E15', 1);
this.graph.addEdge('F18-F17', 'F18', 'F17', 1);
this.graph.addEdge('F19-F20', 'F19', 'F20', 1);
this.graph.addEdge('F19-E17', 'F19', 'E17', 1);
this.graph.addEdge('F19-E16', 'F19', 'E16', 1);
this.graph.addEdge('F19-F18', 'F19', 'F18', 1);
this.graph.addEdge('F20-F21', 'F20', 'F21', 1);
this.graph.addEdge('F20-E18', 'F20', 'E18', 1);
this.graph.addEdge('F20-E17', 'F20', 'E17', 1);
this.graph.addEdge('F20-F19', 'F20', 'F19', 1);
this.graph.addEdge('F21-F22', 'F21', 'F22', 1);
this.graph.addEdge('F21-E19', 'F21', 'E19', 1);
this.graph.addEdge('F21-E18', 'F21', 'E18', 1);
this.graph.addEdge('F21-F20', 'F21', 'F20', 1);
this.graph.addEdge('F22-F23', 'F22', 'F23', 1);
this.graph.addEdge('F22-E20', 'F22', 'E20', 1);
this.graph.addEdge('F22-E19', 'F22', 'E19', 1);
this.graph.addEdge('F22-F21', 'F22', 'F21', 1);
this.graph.addEdge('F23-F24', 'F23', 'F24', 1);
this.graph.addEdge('F23-E21', 'F23', 'E21', 1);
this.graph.addEdge('F23-E20', 'F23', 'E20', 1);
this.graph.addEdge('F23-F22', 'F23', 'F22', 1);
this.graph.addEdge('F24-F1', 'F24', 'F1', 1);
this.graph.addEdge('F24-E1', 'F24', 'E1', 1);
this.graph.addEdge('F24-E21', 'F24', 'E21', 1);
this.graph.addEdge('F24-F23', 'F24', 'F23', 1);
}
// Save the graph state to a JSON file.
TheGameOfY_Graph.prototype.loadFile = function (filename) {
var fs = require('fs');
var decode = require("graphlib").converter.json.decode;
jsonGraph = JSON.parse(fs.readFileSync(filename));
this.graph = decode(jsonGraph.nodes, jsonGraph.edges, jsonGraph.type);
}
// Load from a JSON file to graphlib graph.
TheGameOfY_Graph.prototype.saveFile = function (filename) {
var fs = require('fs');
var encode = require("graphlib").converter.json.encode;
fs.writeFileSync(filename, JSON.stringify(encode(this.graph), undefined, 2));
}
y = new TheGameOfY_Graph ();
y.saveFile ('/tmp/y.json');
// y.loadFile ('/tmp/y.json');
// console.log(y.graph.nodes());
// console.log(y.graph.edges());
// console.log(y.graph.neighbors('C1'));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment