36 Commits
brunus ... main

Author SHA1 Message Date
b84fc555c9 Amélioration de la mise en page avec Markdown du fichier README.md 2026-02-26 23:17:48 +01:00
f03a10466b Amélioration de la mise en page avec Markdown du fichier README.md 2026-02-26 23:17:12 +01:00
ff87d27ef5 Licence MIT 2026-02-26 23:11:57 +01:00
6f1ab9dbe8 Merge remote-tracking branch 'brunus/main' 2026-02-26 23:06:15 +01:00
e4f89b64db Nettoyage du dictionnaire (suppression des mots composés) 2022-01-27 09:07:44 +01:00
bc068e95e0 Encore plus de mots ! 2022-01-27 09:03:34 +01:00
Brunus
31ecc3306c correction de mots avec espace en dernière lettre 2022-01-26 11:37:09 +01:00
Brunus
193ecb1f3a Update README.md 2022-01-26 10:04:32 +01:00
e040749bc1 bugfix : ne pas utiliser pattern et firsttry ensemble 2022-01-25 15:00:08 +01:00
0ee04abea4 Création d'un nouveau dictionnaire fr à base d'autres dictionnaires 2022-01-25 13:48:27 +01:00
9cfb21c160 Réécriture du dictionnaire Sutom (gain de place) 2022-01-25 13:43:54 +01:00
578bc69820 Mise à jour de l'aide pour la fonction pattern 2022-01-25 13:16:38 +01:00
9c9439b39b Amélioration de "resolv_pattern()" 2022-01-25 13:13:38 +01:00
23c8f27def Travaille en majuscule 2022-01-25 13:03:50 +01:00
e34317000c "not in" 2022-01-25 12:59:08 +01:00
332c571b71 Optimisation de "resolv_bl()" 2022-01-25 12:57:12 +01:00
25669da340 Optimisation de "noDouble()" 2022-01-25 11:41:57 +01:00
6603f4012e Optimisations 2022-01-24 23:14:17 +01:00
fc93178303 Nettoyage 2022-01-24 22:22:40 +01:00
e4b517168a Fonction "Pattern" 2022-01-24 22:15:17 +01:00
e2452c1434 Fonction "Bad Letters" 2022-01-24 21:46:06 +01:00
f9cf15d487 Fonction "Know Letters" 2022-01-24 21:05:06 +01:00
758d6bb0bb Nettoyage 2022-01-24 20:21:54 +01:00
cb17864265 Fonction "First Try" 2022-01-24 20:16:31 +01:00
0a8c29de74 Réorganisation du code 2022-01-24 19:44:49 +01:00
8b9175454b Ajout de l'option "no double" 2022-01-24 19:30:24 +01:00
ebea271d49 Préparation pour l'affichage des résultats 2022-01-24 19:05:38 +01:00
90aab55b75 Simplification de l'argument du nombre de lettre 2022-01-24 18:51:54 +01:00
1563e1bf1d Fonction pour charger le dictionnaire et début de mise en forme du programme 2022-01-24 18:50:29 +01:00
5e60b32352 Fonction pour la longueur du mot 2022-01-24 18:39:40 +01:00
ba5600e65f Fonction pour la première lettre 2022-01-24 18:33:52 +01:00
78586d42f0 Simplification du argparse 2022-01-24 17:31:21 +01:00
b6f5850b84 Comme l'on a des arguments obligatoires, pas de besoin de vérifier s'il y en a. 2022-01-24 16:56:04 +01:00
9dbc9fc89d Ouvre le dictionnaire avec un 'with statement' 2022-01-24 16:52:59 +01:00
57c87fe986 import os : pas besoin 2022-01-24 16:48:38 +01:00
971f078ee2 Python3 2022-01-24 16:47:29 +01:00
2 changed files with 101 additions and 29 deletions

7
LICENCE.md Normal file
View File

@@ -0,0 +1,7 @@
Copyright 2026 AntoineVe & Brunus
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

123
README.md
View File

@@ -1,42 +1,107 @@
# wgamesolv # wgamesolv
WARNING : le dictionnaire fr_FR.json n'est plus à jour. Il doit soit être mis à jour soit remplacé par des dictionnaires de mots en x lettres, comme le nouveau fr_A_10letters.json (mots de 10 lettres commençants par la letre A) qui lui est à jour (le 26 fév. 2026). > **Words Games Solver** — Script d'aide à la résolution des jeux de mots style Wordle, SUTOM, mots-croisés, Scrabble...
> On a fait ça pour s'amuser, pas spécialement pour tricher aux jeux de mots.
Words Games Solver. - **Auteurs :** AntoineVe, Brunus
Script d'aide à la résolution des jeux de mots style Wordle, SUTOM, mots-croisés, Scrabble... - **Courageux testeur des 1ères versions et précieux apporteur d'idées :** DarKou
On a fait ça pour s'amuser, pas spécialement pour tricher aux jeux de mots. - **Licence :** MIT
Auteurs : AntoineVe, Brunus.
Courageux testeur des 1ères versions et précieux apporteur d'idées: DarKou.
Licence : MIT
Utilisation : wgamesolv.py -d dictionnaire.json -nb 7 (autres options) ---
-d, --dictionary : dictionnaire à utiliser > [!WARNING]
ex : -d fr_Fc.json > Le dictionnaire `fr_FR.json` n'est plus à jour. Il doit soit être mis à jour soit remplacé par des dictionnaires de mots en x lettres, comme le nouveau `fr_A_10letters.json` (mots de 10 lettres commençant par la lettre A) qui lui est à jour (le 26 fév. 2026).
Trois dictionnaires ont été fusionnés pour n'en faire qu'un : Wordle, SUTOM et l'officiel du Scrabble
-fl, --firstLetter : première lettre du mot ---
ex : -fl C
Cette option est intéressante que l'on connaisse ou non la première lettre, il faut en choisir une pour limiter la liste de mots possibles.
-nb, --nbLetters : nombre de lettres qui composent le mot ## Utilisation
ex : -nb 7
-ft, --firstTry : optimise le premier essai en sortant les mots de -nb lettres, commençant par -fl lettre, ne contenant aucune lettre en plusieurs occurence et contenant -ft voyelles. ```
ex : -ft 4 wgamesolv.py -d dictionnaire.json -nb 7 [autres options]
Cette option peut être utilisée pour le tout premier essai, pour optimiser les chances d'avoir des lettres validées. ```
Cette option est ensuite inutile ou contre-productive pour les essais suivants et ne peut pas être utilisée avec la pattern.
-nd, --noDoubleLetters : filtre les mots composé d'une seule occurence de chaque lettre. ## Options
-kl, --knownLetters : lettres déjà validées ### `-d`, `--dictionary` — dictionnaire à utiliser
ex : -kl AEP
-bl, --badLetters : lettres déjà invalidées ```
ex : -bl ZTOR -d fr_FR.json
```
-p, --pattern : lettres validées et bien placées, lettres connues et mal placées, séparée par des '.' pour les lettres non validées Trois dictionnaires ont été fusionnés pour n'en faire qu'un : Wordle, SUTOM et l'officiel du Scrabble.
Les lettres en caps sont les lettres connues et bien placées, les lettres en minuscules sont les lettres connues mais mal placées
ex : -p L.uI... (le mots était LUCIOLE)
Exemple complet : wgamesolv.py -d fr_FR.json -nb 7 -fl L -p L.uI... -kl U -bl AMNR ---
### `-nb`, `--nbLetters` — nombre de lettres du mot
```
-nb 7
```
---
### `-fl`, `--firstLetter` — première lettre du mot
```
-fl C
```
Cette option est intéressante que l'on connaisse ou non la première lettre : il faut en choisir une pour limiter la liste de mots possibles.
---
### `-ft`, `--firstTry` — optimisation du premier essai
```
-ft 4
```
Optimise le premier essai en sortant les mots de `-nb` lettres, commençant par `-fl`, ne contenant aucune lettre en plusieurs occurrences et contenant `-ft` voyelles.
> Cette option peut être utilisée pour le tout premier essai, pour optimiser les chances d'avoir des lettres validées. Elle est ensuite inutile ou contre-productive pour les essais suivants et **ne peut pas être utilisée avec la pattern**.
---
### `-nd`, `--noDoubleLetters` — sans lettres doublées
Filtre les mots composés d'une seule occurrence de chaque lettre.
---
### `-kl`, `--knownLetters` — lettres déjà validées
```
-kl AEP
```
---
### `-bl`, `--badLetters` — lettres déjà invalidées
```
-bl ZTOR
```
---
### `-p`, `--pattern` — lettres placées et mal placées
```
-p L.uI...
```
| Casse | Signification |
|-------|---------------|
| Majuscule | Lettre connue et **bien placée** |
| minuscule | Lettre connue mais **mal placée** |
| `.` | Position non validée |
*Exemple : `-p L.uI...` pour le mot LUCIOLE*
---
## Exemple complet
```
wgamesolv.py -d fr_FR.json -nb 7 -fl L -p L.uI... -kl U -bl AMNR
```