#ifndef __GAME_H
#define __GAME_H

#define VSIZE 64
#include <unistd.h>
#include "../InterfaceCpp/shmdata.h"

#include "../backprop/neurone.h"
#include "../backprop/couche.h"
#include "../backprop/inputCouche.h"
#include "../backprop/synapse.h"
#include "../backprop/synapseMatrix.h"
#include "../backprop/reseau.h"
#include "../backprop/Utils.h"

#define __SHOW_NETWORK

#ifdef __SHOW_NETWORK
#include "reseauSDL.h"
#endif

class Game{
	private :
		int shmid,i;
		bool neurError,showOutput;
		struct shmdata *data;
		Reseau R;
		#ifdef __SHOW_NETWORK
		ReseauSDL rSDL;
		#endif
	public :
		Game();
		void preLearn();
		void preTest();
		
		void shmCreate();
		void pilot(struct shmdata *data);
		void learnThis();
		void neuronThis();
		void Run();
		void toggleShow(bool t);
	};

#endif
