mirror of
https://framagit.org/JonathanMM/sutom.git
synced 2026-03-14 20:55:46 +01:00
Précision dans la doc sur la création de la liste des mots à trouver
This commit is contained in:
parent
cb542ae02a
commit
1274ccd308
2 changed files with 23 additions and 22 deletions
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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<string> = [\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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue