// animals.h
// top level h file
#ifndef ANIMAL_BASE_H
#define ANIMAL_BASE_H

#define carnivor 1
#define vegitarian 2
#define omnivore 3

#define eatSuccess 0
#define eatFailure 1

#define moveSuccess eatSuccess
#define moveFailure 1

#define sleepSuccess eatSuccess;
#define sleepFailure eatfailure;

#define notNocternal 0
#define nocternal 1

#define awake 0
#define asleep 1

#define procreateSuccess eatSuccess
#define procreateFailure eatFailure


class position {
	public:
		int x;
		int y;

};



class animalBase {
	private:
		int whenActive;
		int whatEats;
		int numChildren;
		int isSleeping;
		position whereAreWe;
		int areWeSleeping();
		void incrementChildren(int numNewChildren);
    public:
		animalBase();
		animalBase(int isNocternal, int whatEats);
		~animalBase();
		int move(int x, int y);
		int eat();
		int goToSleep();
		void print();
		int procreate(int numNewChildren);
		void wakeUp();
		int checkSleepState();

};

#endif

