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;
}
|