Tabs to spaces

This commit is contained in:
Chris Gallegos
2021-11-24 00:55:59 -08:00
parent 6abb82bcda
commit 0bdea0843c

View File

@@ -4,70 +4,70 @@ const Brain = require("./Perception/Brain")
class RandomOrganismGenerator { class RandomOrganismGenerator {
static generate(env) { static generate(env) {
var center = env.grid_map.getCenter(); var center = env.grid_map.getCenter();
var organism = new Organism(center[0], center[1], env, null); var organism = new Organism(center[0], center[1], env, null);
organism.anatomy.addDefaultCell(CellStates.mouth, 0, 0); organism.anatomy.addDefaultCell(CellStates.mouth, 0, 0);
var outermostLayer = RandomOrganismGenerator.organismLayers; var outermostLayer = RandomOrganismGenerator.organismLayers;
var x, y; var x, y;
// iterate from center to edge of organism // iterate from center to edge of organism
// layer 0 is the central cell of the organism // layer 0 is the central cell of the organism
for (var layer = 1; layer <= outermostLayer; layer++) { for (var layer = 1; layer <= outermostLayer; layer++) {
var someCellSpawned = false; var someCellSpawned = false;
var spawnChance = RandomOrganismGenerator.cellSpawnChance * 1 - ((layer - 1) / outermostLayer); var spawnChance = RandomOrganismGenerator.cellSpawnChance * 1 - ((layer - 1) / outermostLayer);
// top // top
y = -layer; y = -layer;
for (x = -layer; x <= layer; x++) for (x = -layer; x <= layer; x++)
someCellSpawned = RandomOrganismGenerator.trySpawnCell(organism, x, y, spawnChance); someCellSpawned = RandomOrganismGenerator.trySpawnCell(organism, x, y, spawnChance);
// bottom // bottom
y = layer; y = layer;
for (x = -layer; x <= layer; x++) for (x = -layer; x <= layer; x++)
someCellSpawned = RandomOrganismGenerator.trySpawnCell(organism, x, y, spawnChance); someCellSpawned = RandomOrganismGenerator.trySpawnCell(organism, x, y, spawnChance);
// left // left
x = -layer; x = -layer;
for (y = -layer + 1; y <= layer - 1; y++) for (y = -layer + 1; y <= layer - 1; y++)
someCellSpawned = RandomOrganismGenerator.trySpawnCell(organism, x, y, spawnChance); someCellSpawned = RandomOrganismGenerator.trySpawnCell(organism, x, y, spawnChance);
// right // right
x = layer; x = layer;
for (y = -layer + 1; y < layer - 1; y++) for (y = -layer + 1; y < layer - 1; y++)
someCellSpawned = RandomOrganismGenerator.trySpawnCell(organism, x, y, spawnChance); someCellSpawned = RandomOrganismGenerator.trySpawnCell(organism, x, y, spawnChance);
if (!someCellSpawned) if (!someCellSpawned)
break; break;
} }
// randomize the organism's brain // randomize the organism's brain
var decisions = organism.brain.decisions; var decisions = organism.brain.decisions;
decisions[CellStates.empty.name] = Brain.Decision.getRandom(); decisions[CellStates.empty.name] = Brain.Decision.getRandom();
decisions[CellStates.food.name] = Brain.Decision.getRandom(); decisions[CellStates.food.name] = Brain.Decision.getRandom();
decisions[CellStates.wall.name] = Brain.Decision.getRandom(); decisions[CellStates.wall.name] = Brain.Decision.getRandom();
decisions[CellStates.mouth.name] = Brain.Decision.getRandom(); decisions[CellStates.mouth.name] = Brain.Decision.getRandom();
decisions[CellStates.producer.name] = Brain.Decision.getRandom(); decisions[CellStates.producer.name] = Brain.Decision.getRandom();
decisions[CellStates.mover.name] = Brain.Decision.getRandom(); decisions[CellStates.mover.name] = Brain.Decision.getRandom();
decisions[CellStates.killer.name] = Brain.Decision.getRandom(); decisions[CellStates.killer.name] = Brain.Decision.getRandom();
decisions[CellStates.armor.name] = Brain.Decision.getRandom(); decisions[CellStates.armor.name] = Brain.Decision.getRandom();
decisions[CellStates.eye.name] = Brain.Decision.getRandom(); decisions[CellStates.eye.name] = Brain.Decision.getRandom();
return organism; return organism;
} }
static trySpawnCell(organism, x, y, spawnChance) { static trySpawnCell(organism, x, y, spawnChance) {
var neighbors = organism.anatomy.getNeighborsOfCell(x, y); var neighbors = organism.anatomy.getNeighborsOfCell(x, y);
if (neighbors.length && Math.random() < spawnChance) { if (neighbors.length && Math.random() < spawnChance) {
organism.anatomy.addRandomizedCell(CellStates.getRandomLivingType(), x, y); organism.anatomy.addRandomizedCell(CellStates.getRandomLivingType(), x, y);
return true; return true;
} }
return false; return false;
} }
} }