summaryrefslogtreecommitdiff
path: root/inc/creature.hpp
diff options
context:
space:
mode:
authortom <tombarrett@siu.edu>2017-01-21 08:58:12 -0600
committertom <tombarrett@siu.edu>2017-01-21 08:58:12 -0600
commita9281bfcf21861e621a3243ecb633a299c8d8e52 (patch)
tree7d4687fd9a8f40e806e6b7c8803c0e87fcae6639 /inc/creature.hpp
parentccb66c8d6d175b1bd3d8ecaa540e80baac5181b6 (diff)
-took basic math functions and put it into functions.hpp
-spaced various lines -reorganized variables by datatype -implemented reproduction -reorganized pathing so once a target is set, the creature checks if that same target is near every cycle
Diffstat (limited to 'inc/creature.hpp')
-rw-r--r--inc/creature.hpp39
1 files changed, 22 insertions, 17 deletions
diff --git a/inc/creature.hpp b/inc/creature.hpp
index edc253f..79ec4c3 100644
--- a/inc/creature.hpp
+++ b/inc/creature.hpp
@@ -6,28 +6,32 @@
#include "entity.hpp"
#include "constants.hpp"
+#include "functions.hpp"
class Creature: public Entity
{
public:
Creature(Window m, SDL_Rect R);
- void Behavior();
- void Action();
- void Priority();
- void setTarget();
- void Move(SDL_Rect R);
-
+ void Behavior();
+ void Action();
+ void Priority();
+ void setTarget();
+ void checkTarget();
+ void Move(SDL_Rect R);
+ void impregnate();
void giveN(list<Entity*> n){N = n;};
- double Distance(SDL_Rect A, SDL_Rect B){return sqrt(pow(A.x-B.x,2)+pow(A.y-B.y,2));};
+
int getHealth(){return health;};
- bool doesItHaveTarget(){return hasTarget;};
int getBestSense(){return bestSense;};
-
+ bool getGender(){return gender;};
+ bool getPregnancyReady(){return pregnancyReady;};
+ void hadPregnancy(){pregnate = pregnancyReady = false;};
+
private:
- bool hasTarget;
- bool wander;
- SDL_Rect wTarget;
-
+ SDL_Rect wTarget;
+ Entity *target;
+ list<Entity*> N;
+
int health;
int reach;
int maxHealth;
@@ -36,13 +40,14 @@ class Creature: public Entity
int bite;
int amountAte;
int amountToGrow;
+ int pregnancyTime;
+ int expectedPregnancyTime;
bool hungry;
- bool gender;
+ bool pregnancyReady;
bool able;
-
- list<Entity*> N;
- Entity *target;
+ bool hasTarget;
+ bool wander;
};
#endif