2023-09-26 04:32:09 -04:00
|
|
|
elements.flipflop = {
|
2023-09-26 07:34:55 -04:00
|
|
|
properties: {
|
|
|
|
|
powerstate: "false",
|
|
|
|
|
},
|
2023-09-26 04:32:09 -04:00
|
|
|
name: "Flip Flop",
|
2023-09-26 04:38:08 -04:00
|
|
|
color: "#CF300D",
|
2023-09-26 04:32:09 -04:00
|
|
|
state: "solid",
|
2023-09-26 04:38:08 -04:00
|
|
|
category: "machines",
|
2023-09-26 04:32:09 -04:00
|
|
|
tick: function(pixel) {
|
|
|
|
|
doHeat(pixel)
|
|
|
|
|
doBurning(pixel)
|
|
|
|
|
doElectricity(pixel)
|
2023-09-26 08:00:57 -04:00
|
|
|
|
2023-09-26 04:38:08 -04:00
|
|
|
let Output = pixelMap[pixel.x+1][pixel.y]
|
|
|
|
|
let Input = pixelMap[pixel.x-1][pixel.y]
|
2023-09-27 03:00:30 -04:00
|
|
|
if (typeof Output !== "undefined" && typeof Input !== "undefined") {
|
2023-09-27 03:03:19 -04:00
|
|
|
if (Input.charge > 0.7) {
|
2023-09-27 03:00:30 -04:00
|
|
|
if (pixel.powerstate == "true") {
|
|
|
|
|
Input.charge = 0
|
|
|
|
|
pixel.powerstate = "false"
|
|
|
|
|
pixel.color = "#CF300D"
|
|
|
|
|
Output.charge = 0
|
|
|
|
|
} else {
|
|
|
|
|
Input.charge = 0
|
|
|
|
|
pixel.powerstate = "true"
|
|
|
|
|
pixel.color = "#94CF0D"
|
|
|
|
|
Output.charge = 5
|
|
|
|
|
}
|
|
|
|
|
}
|
2023-09-26 06:05:49 -04:00
|
|
|
}
|
2023-09-26 04:32:09 -04:00
|
|
|
}
|
|
|
|
|
};
|