diff options
author | tom <tombarrett@siu.edu> | 2017-02-12 08:42:55 -0600 |
---|---|---|
committer | tom <tombarrett@siu.edu> | 2017-02-12 08:42:55 -0600 |
commit | 60bc5dcb19a983e8ae335ba89f860c59473303fb (patch) | |
tree | 6f232f9db0d71678ce593a765b88f4934976ed83 /inc | |
parent | 1da46794f74ebd8f445fcd70cbe0420eadb648e4 (diff) |
-added DNA combining, currently it just takes the average of the mother and father
-there maybe a random segfault, further investigation is needed
Diffstat (limited to 'inc')
-rw-r--r-- | inc/creature.hpp | 12 | ||||
-rw-r--r-- | inc/dna.hpp | 1 | ||||
-rw-r--r-- | inc/entity.hpp | 3 |
3 files changed, 10 insertions, 6 deletions
diff --git a/inc/creature.hpp b/inc/creature.hpp index c3ed2d8..56954fe 100644 --- a/inc/creature.hpp +++ b/inc/creature.hpp @@ -20,10 +20,11 @@ class Creature: public Entity void setTarget(); void checkTarget(); void Move(SDL_Rect R); - void impregnate(); + void impregnate(Dna D); void giveN(std::vector<Entity*> n){N = n;}; Dna getDNA(){return mine;}; + Dna getChildDNA(){return childs;}; int getHealth(){return health;}; int getBestSense(){return mine.bestSense;}; bool getGender(){return gender;}; @@ -31,10 +32,11 @@ class Creature: public Entity void hadPregnancy(){pregnate = pregnancyReady = false;}; private: - SDL_Rect wTarget; - Entity *target; - std::vector<Entity*>N; - Dna mine; + SDL_Rect wTarget; + Entity *target; + std::vector<Entity*> N; + Dna mine; + Dna childs; int health; int amountAte; diff --git a/inc/dna.hpp b/inc/dna.hpp index 4924e15..cd76731 100644 --- a/inc/dna.hpp +++ b/inc/dna.hpp @@ -7,6 +7,7 @@ class Dna { public: Dna(); + Dna combine(Dna D); int maxHealth; int speed; int reach; diff --git a/inc/entity.hpp b/inc/entity.hpp index a7b7f58..0eb8f60 100644 --- a/inc/entity.hpp +++ b/inc/entity.hpp @@ -2,6 +2,7 @@ #define entity_h #include "window.hpp" +#include "dna.hpp" class Entity { @@ -12,7 +13,7 @@ class Entity SDL_Rect getRect(){return rect;}; virtual void eat(int bite){}; - virtual void impregnate(void){}; + virtual void impregnate(Dna D){}; virtual bool getGender(void){}; virtual int getAmount(void){}; |