Example #1
0
        protected override double EvaluateItem(ObviousCode.Alchemy.Library.Populous.Individual <byte> item)
        {
            Creature creature = _incubator.Incubate(item.Code);

            LastPopulation [item.Uid] = creature;

            return(Evaluate(creature));
        }
Example #2
0
    private void OnInject2Clicked(object sender, EventArgs e)
    {
        Incubator incubator = new Incubator();

        byte[] dna = CreatureLoader.Load();

        if (dna != null)
        {
            _currentEvaluator.RequestInjection(dna, 1);

            _lastFittest2 = incubator.Incubate(dna);

            UpdateCreature2Details();
        }
    }
Example #3
0
        public Simulator(Environment environment, byte[] Code)
        {
            this._code        = Code;
            this._environment = environment;

            Incubator incubator = new Incubator();

            SimulatedCreature = incubator.Incubate(_code);

            SimulatedCreature.CreatureAboutToDigest += (sender, e) => {
                if (CreatureAboutToDigest != null)
                {
                    CreatureAboutToDigest(sender, e);
                }
            };

            SimulatedCreature.CreatureDigestionCostRemoved += (sender, e) => {
                if (CreatureDigestionCostRemoved != null)
                {
                    CreatureDigestionCostRemoved(sender, e);
                }
            };

            SimulatedCreature.CreatureEnzymeCostRemoved += (sender, e) => {
                if (CreatureEnzymeCostRemoved != null)
                {
                    CreatureEnzymeCostRemoved(sender, e);
                }
            };

            SimulatedCreature.EatDecisionPredicatePrepared += (sender, e) => {
                if (EatDecisionPredicatePrepared != null)
                {
                    EatDecisionPredicatePrepared(sender, e);
                }
            };

            SimulatedCreature.EatDecisionResolved += (sender, e) => {
                if (EatDecisionResolved != null)
                {
                    EatDecisionResolved(sender, e);
                }
            };

            SimulatedCreature.PotentialExtractionCalcaulated += (sender, e) => {
                if (PotentialExtractionCalcaulated != null)
                {
                    PotentialExtractionCalcaulated(sender, e);
                }
            };

            SimulatedCreature.ActualEnergyExtracted += (sender, e) => {
                if (ActualEnergyExtracted != null)
                {
                    ActualEnergyExtracted(sender, e);
                }
            };

            SimulatedCreature.EnzymeEvaluated += (sender, e) => {
                if (EnzymeEvaluated != null)
                {
                    EnzymeEvaluated(sender, e);
                }
            };

            SimulatedCreature.EnzymeProcessCompleted += (sender, e) => {
                if (EnzymeProcessCompleted != null)
                {
                    EnzymeProcessCompleted(sender, e);
                }
            };

            SimulatedCreature.CreatureDied += (sender, e) => {
                if (CreatureDied != null)
                {
                    CreatureDied(sender, e);
                }
            };
        }