cleaned random creature generation

This commit is contained in:
MaxRobinsonTheGreat
2021-12-20 18:42:49 -06:00
parent ce7b38c028
commit d6ce0cdcd8
14 changed files with 110 additions and 170 deletions

View File

@@ -236,7 +236,7 @@ class Organism {
return cell != null && (cell.state == CellStates.empty || cell.owner == this || cell.owner == parent || cell.state == CellStates.food);
}
isClear(col, row, rotation=this.rotation, ignore_armor=false) {
isClear(col, row, rotation=this.rotation) {
for(var loccell of this.anatomy.cells) {
var cell = this.getRealCell(loccell, col, row, rotation);
if (cell==null) {

View File

@@ -32,8 +32,12 @@ class Brain {
this.decisions[CellStates.eye.name] = Decision.neutral;
}
randomizeDecisions() {
randomizeDecisions(randomize_all=false) {
// randomize the non obvious decisions
if (randomize_all) {
this.decisions[CellStates.food.name] = Decision.getRandom();
this.decisions[CellStates.killer.name] = Decision.getRandom();
}
this.decisions[CellStates.mouth.name] = Decision.getRandom();
this.decisions[CellStates.producer.name] = Decision.getRandom();
this.decisions[CellStates.mover.name] = Decision.getRandom();

View File

@@ -45,16 +45,7 @@ class RandomOrganismGenerator {
}
// randomize the organism's brain
var decisions = organism.brain.decisions;
decisions[CellStates.empty.name] = Brain.Decision.getRandom();
decisions[CellStates.food.name] = Brain.Decision.getRandom();
decisions[CellStates.wall.name] = Brain.Decision.getRandom();
decisions[CellStates.mouth.name] = Brain.Decision.getRandom();
decisions[CellStates.producer.name] = Brain.Decision.getRandom();
decisions[CellStates.mover.name] = Brain.Decision.getRandom();
decisions[CellStates.killer.name] = Brain.Decision.getRandom();
decisions[CellStates.armor.name] = Brain.Decision.getRandom();
decisions[CellStates.eye.name] = Brain.Decision.getRandom();
organism.brain.randomizeDecisions(true);
return organism;
}
@@ -71,7 +62,7 @@ class RandomOrganismGenerator {
}
RandomOrganismGenerator.organismLayers = 2;
RandomOrganismGenerator.organismLayers = 4;
RandomOrganismGenerator.cellSpawnChance = 0.75;
module.exports = RandomOrganismGenerator;