flood-fill
A simple 2D flood fill for use with ndarrays.
You could use this to re-implement Microsoft Paint's bucket fill in JavaScript, or in procedural dungeon generation to identify disconnected rooms.
Installation
npm install flood-fill
Usage
require('flood-fill')(ndarray, x, y, fillValue)
Fills the array with fillValue
, starting from the position at (x, y)
.
This will also return an object with some very basic metrics for you to use:
area
: the total amount of cells filled.hi
: the highest x/y positions filled.lo
: the lowest x/y positions filled.
Note that hi
and lo
may not have been filled themselves.
var fill =var zero =var grid =var height = gridshape1var width = gridshape0for var x = 0; x < 50; x += 1 gridfor var x = 0; x < 50; x += 1 gridfor var y = 0; y < 50; y += 1 gridfor var y = 0; y < 50; y += 1 gridfor var y = 0; y < height; y += 1for var x = 0; x < width; x += 1processstdoutconsole