diff --git a/mods/tool_pixel_behavior.js b/mods/tool_pixel_behavior.js new file mode 100644 index 00000000..6f322c11 --- /dev/null +++ b/mods/tool_pixel_behavior.js @@ -0,0 +1,46 @@ +elements.lookup.tick = function(pixel) { + //console.log(`### Tick ${pixelTicks} ###`); + //console.log(`Storing coordinates`); + var pX = pixel.x; + var pY = pixel.y; + //console.log(`Position (${pX},${pY})`); + //console.log(`Iterating`); + var neighborArray = []; + for(i = 0; i < adjacentCoords.length; i++) { + //console.log(`i: ${i}`); + //console.log(`Initialized array`); + var coord = adjacentCoords[i]; + //console.log(`Offset pair: ${coord}`); + var oX = coord[0]; + var oY = coord[1]; + //console.log(`Stored offset pair`); + var nX = pX+oX; + var nY = pY+oY; + //console.log(`Final coordinates: (${nX},${nY}) (index ${i})`); + if(isEmpty(nX,nY,true)) { + //console.log(`Skipping empty pixel (${nX},${nY})`); + continue; + } else { + //console.log(`Found pixel at (${nX},${nY})`); + var newPixel = pixelMap[nX][nY]; + //console.log(`Pixel stored`); + var newElement = newPixel.element; + //console.log(`Element is ${newElement}, running exclusion check;`); + if(newElement !== pixel.element) { //exclude self + //console.log(`Element is different, storing in array;`); + neighborArray.push(newElement); //build array of valid neighbors + }; + //console.log("Finding iteration done"); + }; + //console.log("End of for block (not loop)"); + }; + //console.log(`Loop done: ${neighborArray}`); + if(neighborArray.length > 0) { + var changeToElement = neighborArray[Math.floor(Math.random() * neighborArray.length)]; + changePixel(pixel,changeToElement); + }; +}; + +/*elements.pointer.behavior = [ + "XX|XX|XX","XX|CH:paint|XX","XX|XX|XX" +];*/ \ No newline at end of file