diff --git a/dist/index.html b/dist/index.html index 846801a..6342042 100644 --- a/dist/index.html +++ b/dist/index.html @@ -210,6 +210,9 @@
+
+ +
diff --git a/src/Controllers/ControlPanel.js b/src/Controllers/ControlPanel.js index c45c03c..59bc4d5 100644 --- a/src/Controllers/ControlPanel.js +++ b/src/Controllers/ControlPanel.js @@ -229,6 +229,10 @@ class ControlPanel { $('#food-drop-rate').change(function() { Hyperparams.foodDropProb = $('#food-drop-rate').val(); }); + $('#extra-mover-cost').change(function() { + console.log(parseInt($('#extra-mover-cost').val())) + Hyperparams.extraMoverFoodCost = parseInt($('#extra-mover-cost').val()); + }); $('#evolved-mutation').change( function() { if (this.checked) { @@ -311,6 +315,7 @@ class ControlPanel { $('#movers-produce').prop('checked', Hyperparams.moversCanProduce); $('#food-blocks').prop('checked', Hyperparams.foodBlocksReproduction); $('#food-drop-rate').val(Hyperparams.foodDropProb); + $('#extra-mover-cost').val(Hyperparams.extraMoverFoodCost); $('#look-range').val(Hyperparams.lookRange); if (!Hyperparams.useGlobalMutability) { diff --git a/src/Hyperparameters.js b/src/Hyperparameters.js index b4dfa02..9579f11 100644 --- a/src/Hyperparameters.js +++ b/src/Hyperparameters.js @@ -24,6 +24,8 @@ const Hyperparams = { this.lookRange = 20; this.foodDropProb = 0; + + this.extraMoverFoodCost = 0; }, loadJsonObj(obj) { diff --git a/src/Organism/Organism.js b/src/Organism/Organism.js index ef38f03..a1db6b6 100644 --- a/src/Organism/Organism.js +++ b/src/Organism/Organism.js @@ -47,11 +47,10 @@ class Organism { // amount of food required before it can reproduce foodNeeded() { - return this.anatomy.cells.length; + return this.anatomy.is_mover ? this.anatomy.cells.length + Hyperparams.extraMoverFoodCost : this.anatomy.cells.length; } lifespan() { - // console.log(Hyperparams.lifespanMultiplier) return this.anatomy.cells.length * Hyperparams.lifespanMultiplier; } @@ -118,7 +117,7 @@ class Organism { org.species.addPop(); } } - this.food_collected -= this.foodNeeded(); + Math.max(this.food_collected -= this.foodNeeded(), 0); }