parent
74b0a1abd1
commit
1b7f2d1004
|
|
@ -0,0 +1,34 @@
|
||||||
|
function randomOfTwo(option1,option2,leftChance=0.5) {
|
||||||
|
if(Math.random() < leftChance) {
|
||||||
|
return option1;
|
||||||
|
} else {
|
||||||
|
return option2;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
elements.xdct = {
|
||||||
|
name: "x-dependent change test",
|
||||||
|
color: "#cc33cc",
|
||||||
|
hardness: 0.5,
|
||||||
|
density: 2400,
|
||||||
|
behavior: behaviors.POWDER,
|
||||||
|
state: "solid",
|
||||||
|
category: "solids",
|
||||||
|
tick: function(pixel) {
|
||||||
|
var halfWidth = width / 2;
|
||||||
|
var halfHeight = height / 2;
|
||||||
|
var transitionLeftEdge = 4/5 * halfWidth;
|
||||||
|
var transitionRightEdge = 6/5 * halfWidth;
|
||||||
|
var x = pixel.x;
|
||||||
|
if(x < transitionLeftEdge) { //To the left
|
||||||
|
changePixel(pixel,"sand");
|
||||||
|
} else if(x > transitionRightEdge) { //To the right
|
||||||
|
changePixel(pixel,"dirt");
|
||||||
|
} else { //Other (e.g. equal to)
|
||||||
|
var distanceFromLeftEdge = x - transitionLeftEdge;
|
||||||
|
var distanceBetweenEdges = transitionRightEdge - transitionLeftEdge;
|
||||||
|
var relativePosition = distanceFromLeftEdge / distanceBetweenEdges;
|
||||||
|
changePixel(pixel,randomOfTwo("dirt","sand",relativePosition));
|
||||||
|
};
|
||||||
|
},
|
||||||
|
};
|
||||||
Loading…
Reference in New Issue