#define MAXMOTS 100000 
#define MAXLETTRE 6 	// mots de 6 lettres  
#define MAXLEN (MAXLETTRE+2)

// On fournit un dictionnaire global. C'est ce dictionnaire qui est modifié par la fonction de lecture
extern char dictionnaire[MAXMOTS][MAXLEN]; 
extern int nbMots;
extern int statut[MAXLETTRE]; //le tableau "statut" est aussi global.

/*
 * Codage dans le tableau statut:
 * 
 * Valeur 0 si la letre est non présente 
 * Valeur 1 si la lettre est présente et bien placée, sinon  
 * Valeur 2 si la lettre est présente mais mal placée 
 * pour comprendre le fonctionnement du jeu et plus d'exemples : https://motus.absolu-puzzle.com/
 * 
 * exemple: 	reference 	VIVIER	
 * 		proposition 	VERDIE
 *				122020
 * 
 * 				VENDRE
 * 				120020
*/



/* met en majuscule le mot, considéré uniquement de caractères latins hors \0*/
/* \0 est supposé existant dans le mot */
void normaliseMot(char mot[]);


/* Cherche le mot (mot) dans le dictionnaire global, supposé contenant nbMots*/
/* Renvoie 1 si le mot est trouvé, 0 sinon */
int chercheMot(char mot[],int nbMots);


/*  Fonction de chargement du dictionnaire à partir d'un fichier. elle est presque identique à celle du jeu précédent*/
/* renvoie le nombre de mots stockés dans le dictionnaire, -1 si erreur*/
int chargeMots(char chemin[]); 

// Cette fonction lireMot est identique au jeu précédent
// renvoie 1 si le mot est conforme (6 lettres), 0 sinon)
int lireMot(char mot[]); 

// Compare un mot avec la référence
// met à jour le tableau statut.
// Renvoie 1 si le mot est trouvé entièrement, 0 sinon.
int verifieMot(char proposition[],char reference[]); 

// Affiche les caractères de la proposition en fonction de leur statut.
void afficheMot(char proposition[]); 

// imprime les nblignes premières lignes du dictionnaire.
void imprimeDico(int nblignes);
