This commit is contained in:
Nekonico 2024-10-03 11:53:01 -07:00 committed by GitHub
parent 7a4b21ac09
commit cac0e974d1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 20 additions and 4 deletions

View File

@ -1,20 +1,26 @@
elements.organism = {} elements.organism = {
color: ["#a19348","#b5a85e"], color: ["#a19348","#b5a85e"],
properties: { properties: {
geneticCode: "00000", geneticCode: 00000,
food: 0 food: 0
}, },
tick: function(pixel) { tick: function(pixel) {
if ((pixel.geneticCode & 0b101) = 0) { if ((pixel.geneticCode & 0b101) = 0) {
if (tryMove(pixel, pixel.x, pixel.y+1)) { if (tryMove(pixel, pixel.x, pixel.y+1)) {
if ((pixel.geneticCode & 0b10) = 1 && Math.random() < 0.1) { if ((pixel.geneticCode & 0b10) > 0 && Math.random() < 0.1) {
if (!isEmpty(pixel.x,pixel.y+1),true && pixelMap[pixel.x][pixel.y+1].isFood) { if (!isEmpty(pixel.x,pixel.y+1),true && pixelMap[pixel.x][pixel.y+1].isFood) {
deletePixel(pixel.x, pixel.y+1); deletePixel(pixel.x, pixel.y+1);
pixel.food += 1 pixel.food += 1
} }
} }
else if ((pixel.geneticCode & 0b10) = 0 && Math.random() < 0.1) {
if (!isEmpty(pixel.x,pixel.y+1),true && pixelMap[pixel.x][pixel.y+1].element === "sugar") {
deletePixel(pixel.x, pixel.y+1);
pixel.food += 1
} }
if ((pixel.geneticCode & 0b10) = 1 && Math.random() < 0.1) { }
}
if ((pixel.geneticCode & 0b10) > 0 && Math.random() < 0.1) {
if (!isEmpty(pixel.x+1,pixel.y),true && pixelMap[pixel.x+1][pixel.y].isFood) { if (!isEmpty(pixel.x+1,pixel.y),true && pixelMap[pixel.x+1][pixel.y].isFood) {
deletePixel(pixel.x+1, pixel.y); deletePixel(pixel.x+1, pixel.y);
pixel.food += 1 pixel.food += 1
@ -24,6 +30,16 @@ elements.organism = {}
pixel.food += 1 pixel.food += 1
} }
} }
else if ((pixel.geneticCode & 0b10) = 0 && Math.random() < 0.1) {
if (!isEmpty(pixel.x+1,pixel.y),true && pixelMap[pixel.x+1][pixel.y].element === "sugar") {
deletePixel(pixel.x+1, pixel.y);
pixel.food += 1
}
else if (!isEmpty(pixel.x-1,pixel.y),true && pixelMap[pixel.x-1][pixel.y].element === "sugar") {
deletePixel(pixel.x-1, pixel.y);
pixel.food += 1
}
}
if (pixel.food === 5 && isEmpty(pixel.x,pixel.y-1)) { if (pixel.food === 5 && isEmpty(pixel.x,pixel.y-1)) {
createPixel("organism", pixel.x, pixel.y-1); createPixel("organism", pixel.x, pixel.y-1);
pixelMap[pixel.x][pixel.y-1].geneticCode = pixel.geneticCode; pixelMap[pixel.x][pixel.y-1].geneticCode = pixel.geneticCode;