#include <stdio.h>

/**********************  PROTOTYPAGE  ********************/

int init();
int lire_info();
int test_armee();
int test_ennemis();
int test_proximite();
int scan(short, short ,int ,int ,short *, short *);
int test_energie(int, short);
int deplacement();
int ecrire_info();

/*********************************************************/


/************** STRUCTURES ****************/

typedef struct gege {
short x;        /* coordonnee X */
short y;                /* coordonnee Y */
short charge;   /* Energie de la gellule */
char proche[4]; /* Position des gellules les plus proches */
} gellule;

/* Je defini une autre stucture pour avoir de nouvelles donnees propres */
/* a une gellule, on peut comparer ca a une encapsulation */

typedef struct gegel {
gellule proprietes;     /* donnees principales de la gellule */

int tueur;              /* Role de la gellule : */
                        /* tueur=1  gellule tueuse */
                        /* tueur=0  gellule faisant partie d'une armee */

short but[2];           /* Si la gellule fait partie d'une armee, */
                        /*   elle possede une position ou elle doit se rendre */

short etat;             /* avancer,conquerir ... */
short direction;        /* La direction que va prendre une gellule */
} gel;


/************** VARIABLES GLOBALES *************/

/* J'aurais pu ne pas utiliser de variables globales...
   et n'utiliser que des pointeurs, mais cela aurait ete
   au detriment de la comprehension deja fort peu aisee ;)
*/

int MAX=50;     /* nombre de gellules initiales */
int NB_GEL=0;   /* nombre de gellules courantes */
int  MAXX=70;   /* Largeur du terrain de jeu */
int MAXY=70;    /* Hauteur du terrain de jeu */

/* 2 tableaux de gellules sont crees, car il faut que je puisse comparer les
   positions qu'on m'envoie avec celle que j'ai prevues ...
   Si justement certaines sont differentes je peux reafecter les valeurs
   que j'avais choisi a d'autre molecules.
   Cela permet de ne pas recalculer les positions des gellules composant
   une armee. */

gel TAB_GEL[50*2];
gel TAB_GELANC[50*2];

/* Matrice qui me permettra de visualiser l'ensemble de mes troupes */
int MATRICE[70][70];
/* Tableau contenant les coordonnees des ennemis visibles */
int ENNEMIS[70][70];
