Skip to content

Instantly share code, notes, and snippets.

@Ivanca
Created September 16, 2014 03:01
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 Ivanca/eb3ef598b17a9a8ad10c to your computer and use it in GitHub Desktop.
Save Ivanca/eb3ef598b17a9a8ad10c to your computer and use it in GitHub Desktop.
var matrix = [
[0, 0, 0, 1, 0, 0, 0],
[0, 0, 0, 1, 0, 0, 0],
[0, 0, 0, 1, 0, 0, 0],
[0, 0, 0, 1, 0, 0, 0],
[0, 0, 0, 1, 1, 0, 0],
[0, 0, 0, 0, 0, 0, 0]
];
function flow (matrix, startPoint) {
// 2 means water
matrix[startPoint.y][startPoint.x] = 2;
var count = 0;
var reverse = false;
var loop = false;
var currentX = startPoint.x;
var currentY = startPoint.y;
for (var y = 0; y < matrix.length; y) {
for (var x = 0; x < matrix[y].length; x) {
if (matrix[y][x] === 2 && !reverse && !loop) {
reverse = true;
}
reverse ? x-- : x++;
}
reverse ? y-- : x++;
}
return count;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment