From 1274ccd3084ae82b1efedd5bd1c27e1ecb834c05 Mon Sep 17 00:00:00 2001 From: JonathanMM Date: Mon, 23 Jun 2025 21:51:16 +0200 Subject: [PATCH] =?UTF-8?q?Pr=C3=A9cision=20dans=20la=20doc=20sur=20la=20c?= =?UTF-8?q?r=C3=A9ation=20de=20la=20liste=20des=20mots=20=C3=A0=20trouver?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/CreerListeMotsATrouver.md | 14 ++++++++++---- utils/nettoyageATrouver.js | 31 +++++++++++++------------------ 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/docs/CreerListeMotsATrouver.md b/docs/CreerListeMotsATrouver.md index 77b06b9..963dd48 100644 --- a/docs/CreerListeMotsATrouver.md +++ b/docs/CreerListeMotsATrouver.md @@ -1,14 +1,19 @@ # Créer liste des mots à trouver -Pour définir la liste des mots qui vont être utilisé par le système, il est nécessaire de créer un fichier data/motsATrouve.txt. Ce fichier doit contenir un mot par ligne, de préférence en minuscule. +Pour définir la liste des mots qui vont être utilisé par le système, il est nécessaire de créer un fichier data/motsATrouve.txt. Ce fichier doit contenir un mot +par ligne, de préférence en minuscule. -Puis, lancer la commande suivante : +Puis, lancer les commandes suivantes : ```sh +npx tsc +node utils/nettoyageATrouver.js node utils/melangerATrouver.js ``` -Ce script va vérifier que les mots se trouvent bien dans le dictionnaire, avant de mélanger le fichier et de le mettre dans le format attendu. Le résultat sera placé dans le même fichier, qui va être utilisé ensuite par le script quotidien ./cron.sh. Le mélange ne concernera que les mots qui ne sont pas sorti, à partir du surlendemain. +Ce script va vérifier que les mots se trouvent bien dans le dictionnaire, avant de mélanger le fichier et de le mettre dans le format attendu. Le résultat sera +placé dans le même fichier, qui va être utilisé ensuite par le script quotidien ./cron.sh. Le mélange ne concernera que les mots qui ne sont pas sorti, à partir +du surlendemain. ## Règles du mélange @@ -17,4 +22,5 @@ Dans la mesure du possible, lors du mélange, les règles suivantes vont être r - La longueur du mot est différente de celle du mot précédent, - L'initial du mot est différente de l'initiale des cinq mots précédents. -Le script tire un mot au hasard, et regarde s'il respecte les règles. Si oui, il est gardé, sinon, un autre est tiré. Au bout d'un certain nombre d'echec, le script abandonne, et va juste placer les mots non encore tiré à la fin du fichier. +Le script tire un mot au hasard, et regarde s'il respecte les règles. Si oui, il est gardé, sinon, un autre est tiré. Au bout d'un certain nombre d'echec, le +script abandonne, et va juste placer les mots non encore tiré à la fin du fichier. diff --git a/utils/nettoyageATrouver.js b/utils/nettoyageATrouver.js index 6897877..03b4fd2 100644 --- a/utils/nettoyageATrouver.js +++ b/utils/nettoyageATrouver.js @@ -28,28 +28,27 @@ let origine = instanceConfiguration.default.dateOrigine.getTime(); let numeroGrille = Math.floor((aujourdhui - origine) / (24 * 3600 * 1000)); const maxFige = numeroGrille + 1; // inclus -console.log(maxFige); fs.readFile("data/motsATrouve.txt", "UTF8", function (erreur, contenu) { - //console.log(erreur); var dictionnaire = contenu.split("\n"); let motsFiges = dictionnaire.slice(0, maxFige + 1); let motsMelanges = shuffle(dictionnaire.slice(maxFige + 1)); - contenu = "public static readonly Liste: Array = [\n"; - contenu += + contenu = motsFiges - .map( - (mot) => - '"' + - mot - .normalize("NFD") - .replace(/\p{Diacritic}/gu, "") - .toUpperCase() + - '",' + .map((mot) => + mot + .normalize("NFD") + .replace(/\p{Diacritic}/gu, "") + .toUpperCase() ) .join("\n") + "\n"; contenu += motsMelanges - .map((mot) => mot.normalize("NFD").replace(/\p{Diacritic}/gu, "")) + .map((mot) => + mot + .normalize("NFD") + .replace(/\p{Diacritic}/gu, "") + .toUpperCase() + ) .filter( (mot) => mot && @@ -66,12 +65,8 @@ fs.readFile("data/motsATrouve.txt", "UTF8", function (erreur, contenu) { !mot.toUpperCase().startsWith("Z") && listeMotsProposable.default.Dictionnaire.includes(mot) ) - .map(function (mot) { - return '"' + mot.toUpperCase() + '",'; - }) .join("\n"); - contenu += "\n]"; - fs.writeFile("data/motsATrouveNettoyes.txt", contenu, function (err) { + fs.writeFile("data/motsATrouve.txt", contenu, function (err) { if (err) { console.error(err); return;