]> git.localhorst.tv Git - blobs.git/blobdiff - src/creature/Genome.hpp
randomize creature properties a bit
[blobs.git] / src / creature / Genome.hpp
diff --git a/src/creature/Genome.hpp b/src/creature/Genome.hpp
new file mode 100644 (file)
index 0000000..4437150
--- /dev/null
@@ -0,0 +1,38 @@
+#ifndef BLOBS_CREATURE_GENOME_HPP_
+#define BLOBS_CREATURE_GENOME_HPP_
+
+#include "../math/Distribution.hpp"
+
+#include <vector>
+
+
+namespace blobs {
+namespace app {
+       struct Assets;
+}
+namespace creature {
+
+class Creature;
+
+struct Genome {
+
+       struct Composition {
+               // which resource
+               int resource;
+               // how much contained in the body
+               math::Distribution mass;
+               // how much to circulate
+               math::Distribution intake;
+               // how important for alive-being
+               math::Distribution penalty;
+       };
+       std::vector<Composition> composition;
+
+       void Configure(app::Assets &, Creature &) const;
+
+};
+
+}
+}
+
+#endif