summaryrefslogtreecommitdiff
path: root/src/dna.cpp
blob: c3ffd9cb249315308c2908acc5a34711f8c396a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include "dna.hpp"

DNA::DNA()
{
        maxHealth               = CREATURE_MAX_HEALTH;
        speed                   = CREATURE_SPEED;
        reach                   = CREATURE_REACH;
        bestSense               = CREATURE_BEST_SENSE;
        bite                    = CREATURE_BITE;
        amountToGrow            = CREATURE_AMOUNT_TO_GROW;
        expectedPregnancyTime   = CREATURE_EXP_PREG_TIME;
        expectedAge             = CREATURE_EXP_AGE;
        sizeMax                 = CREATURE_SIZE_MAX;
}

DNA DNA::combine(DNA D)
{
        DNA N;

        N.maxHealth             = (this->maxHealth + D.maxHealth)/2; 
        N.speed                 = (this->speed + D.speed)/2; 
        N.reach                 = (this->reach + D.reach)/2; 
        N.bestSense             = (this->bestSense + D.bestSense)/2; 
        N.bite                  = (this->bite + D.bite)/2; 
        N.amountToGrow          = (this->amountToGrow + D.amountToGrow)/2; 
        N.expectedPregnancyTime = (this->expectedPregnancyTime + D.expectedPregnancyTime)/2; 
        N.expectedAge           = (this->expectedAge + D.expectedAge)/2; 
        N.sizeMax               = (this->sizeMax + D.sizeMax)/2; 

        return N;
}