summaryrefslogtreecommitdiff
path: root/src/dna.cpp
blob: 11452764da704b515e65adc60a5e7c99fb9d479e (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;
}