title
This commit is contained in:
parent
e0bd0eda57
commit
132d9a1aed
|
|
@ -0,0 +1,100 @@
|
|||
msColorArray = ["#a0a0a0", "#0000ff", "#008000", "#ff0000", "#000080", "#800000", "#008080", "#000000", "#808080"]
|
||||
|
||||
elements.msfield = {
|
||||
name: "minefield",
|
||||
color: "#c0c0c0",
|
||||
conduct: 1,
|
||||
insulate: true,
|
||||
properties: {
|
||||
uwu: 0,
|
||||
revealed: false,
|
||||
revealedAround: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
if(typeof(pixel.revealed) === 'undefined') {
|
||||
pixel.revealed = false
|
||||
}
|
||||
if(typeof(pixel.uwu) === 'undefined') {
|
||||
pixel.uwu = 0
|
||||
}
|
||||
if(typeof(pixel.revealedAround) === 'undefined') {
|
||||
pixel.revealedAround = false
|
||||
}
|
||||
if(pixel.charge) {
|
||||
pixel.revealed = true
|
||||
delete pixel.charge
|
||||
if(pixel.chargeCD) {
|
||||
delete pixel.chargeCD
|
||||
}
|
||||
}
|
||||
if(pixel.revealed) {
|
||||
//count neighbors
|
||||
pixel.uwu = 0
|
||||
for (let i = -1; i < 2; i++) {
|
||||
for (let j = -1; j < 2; j++) {
|
||||
if (!isEmpty(pixel.x+j,pixel.y+i) && !outOfBounds(pixel.x+j,pixel.y+i)) {
|
||||
if (pixelMap[pixel.x+j][pixel.y+i].element == "msmine") {
|
||||
pixel.uwu += 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(typeof(pixel.uwu) === 'number' && isFinite(pixel.uwu) && !isNaN(pixel.uwu)) {
|
||||
if(pixel.uwu >= 0 && pixel.uwu <= 8) {
|
||||
pixel.color = msColorArray[pixel.uwu]
|
||||
}
|
||||
} else {
|
||||
pixel.color = "#ff00ff"
|
||||
}
|
||||
} else {
|
||||
pixel.color = "#c0c0c0" //I feel bad suppressing the sand effect.
|
||||
}
|
||||
},
|
||||
category: "special",
|
||||
state: "solid",
|
||||
hidden: true,
|
||||
};
|
||||
|
||||
elements.msmine = {
|
||||
name: "minefield",
|
||||
color: "#c0c0c0",
|
||||
conduct: 1,
|
||||
insulate: true,
|
||||
properties: {
|
||||
uwu: 0,
|
||||
revealed: false,
|
||||
},
|
||||
tick: function(pixel) {
|
||||
if(pixel.charge) {
|
||||
pixel.revealed = true
|
||||
delete pixel.charge
|
||||
if(pixel.chargeCD) {
|
||||
delete pixel.chargeCD
|
||||
}
|
||||
}
|
||||
if(pixel.revealed) {
|
||||
pixel.color = ("#" + ((192 + Math.abs((pixelTicks * 4) % 64)).toString(16) + "c0c0").padStart(6, '0'));
|
||||
//oldFillStyle = ctx.fillStyle
|
||||
//ctx.fillStyle = "#ff0000";
|
||||
////ctx.fillRect(pixel.x*pixelSize, pixel.y*pixelSize, pixelSize/2, pixelSize);
|
||||
//ctx.fillRect(23*pixelSize, 23*pixelSize, pixelSize/2, pixelSize);
|
||||
//ctx.fillStyle = oldFillStyle;
|
||||
} else {
|
||||
pixel.color = "#c0c0c0"
|
||||
}
|
||||
},
|
||||
category: "special",
|
||||
state: "solid",
|
||||
hidden: true,
|
||||
};
|
||||
|
||||
elements.ms = { //minesweeper = {
|
||||
color: ["#c0c0c0", "#c0c0c0", "#ff0000", "#008000", "#ff0000", "#000080", "#800000", "#008080", "#000000", "#808080", "#808080"],
|
||||
behavior: [
|
||||
"XX|XX|XX",
|
||||
"XX|CH:msfield,msfield,msfield,msfield,msfield,msfield,msfield,msfield,msfield,msmine|XX",
|
||||
"XX|XX|XX"
|
||||
],
|
||||
category: "special",
|
||||
state: "solid",
|
||||
};
|
||||
Loading…
Reference in New Issue