UNPKG

game-of-life-d3-boots

Version:

conway's game of life with a small bit of interactivity. an observer can click on a square to "infect" it (turn its living color to red). then, whenever that cell is live, it will "infect" its living neighbors

37 lines (32 loc) 847 B
/** @module directions */ var Vector = require("./vector"); /** * @static */ var directionNames = "n ne e se s sw w nw".split(" "); /** * @static */ module.exports.directions = { "n" : new Vector( 0, -1), "ne": new Vector( 1, -1), "e" : new Vector( 1, 0), "se": new Vector( 1, 1), "s" : new Vector( 0, 1), "sw": new Vector(-1, 1), "w" : new Vector(-1, 0), "nw": new Vector(-1, -1), }; module.exports.names = directionNames; /** * Computes relative direction from a given direction, looking (45*n) degrees clockwise. * @example dirplus("n", 1) = "ne"; * @function dirPlus * @access public * @param {string} dir - Starting direction. * @param {number} n */ module.exports.dirPlus = function(dir, n) { var index = directionNames.indexOf(dir); return directionNames[(index + n + 8) % 8]; };