#include "stdafx.h"
#include <iostream>
#include <string>

///////////////////structures////////////////////////////////////////////////
struct coordonnees
{
		int ev;//permet de savoir si un mouton ou loup est en ev2 ou ev3
		int x;
		int y;
};
typedef struct coordonnees coordonnees;


///////////////////////////////////////////les class/////////////////////////////////////////
class monde;

#ifndef DEF_ETREVIVANT
#define DEF_ETREVIVANT

////class etre vivant
class etreVivant
{
	public:
		
		coordonnees pos;
		etreVivant();
		std::string type;
		bool alive;
		
		void manger(int faim, monde world[10][10], coordonnees pos);
		void reproduction();
		bool isAlive(int esperance, int faim, monde world[10][10], coordonnees pos );


	private: 

		
	protected:
		int faim;
		int esperance;
		int nbTour;
};
#endif

#ifndef DEF_MOUTON
#define DEF_MOUTON
///////////////////////////
class mouton : public etreVivant
{
	public:
		mouton();
		
};
#endif

#ifndef DEF_SABLE
#define DEF_SABLE
///////////////////////c'est pas un etre vivant ni rien mais simplifie l'affichage^^
class sable : public etreVivant
{
	public:
		sable();
		
};
#endif

#ifndef DEF_LOUP
#define DEF_LOUP

///////////////////////////
class loup : public etreVivant
{
	public:
		loup();
		
};

#endif

#ifndef DEF_HERBE
#define DEF_HERBE

////////////////////////////
class herbe : public etreVivant
{
	public:
		herbe();
	private:
};
#endif

#ifndef DEF_MONDE
#define DEF_MONDE
/////////////////////////////
//classe plateau

class monde
{
	public:
		etreVivant ev1; //l'herbe si il y a
		etreVivant ev2; //le 1e animal
		etreVivant ev3; //le 2e animal

		int selsMineraux;
		monde ();
};
#endif



//////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////


//mouton

mouton::mouton()
{
	type = "mouton";
	esperance= 48;//esperance de vie
}

//sable
sable::sable()
{
	type = "sable";
}

//loup
loup::loup()
{
	type = "loup";
	esperance= 60;//esperance de vie
}

//herbe
herbe::herbe()
{
	type = "herbe";
};

//monde
monde::monde()
{
	selsMineraux = rand()%5;
}

