]> git.localhorst.tv Git - blobs.git/blob - src/creature/Genome.hpp
randomize creature properties a bit
[blobs.git] / src / creature / Genome.hpp
1 #ifndef BLOBS_CREATURE_GENOME_HPP_
2 #define BLOBS_CREATURE_GENOME_HPP_
3
4 #include "../math/Distribution.hpp"
5
6 #include <vector>
7
8
9 namespace blobs {
10 namespace app {
11         struct Assets;
12 }
13 namespace creature {
14
15 class Creature;
16
17 struct Genome {
18
19         struct Composition {
20                 // which resource
21                 int resource;
22                 // how much contained in the body
23                 math::Distribution mass;
24                 // how much to circulate
25                 math::Distribution intake;
26                 // how important for alive-being
27                 math::Distribution penalty;
28         };
29         std::vector<Composition> composition;
30
31         void Configure(app::Assets &, Creature &) const;
32
33 };
34
35 }
36 }
37
38 #endif