dDogge readme
This commit is contained in:
parent
ea304ab591
commit
6d7544eddb
1 changed files with 33 additions and 1 deletions
34
README.md
34
README.md
|
@ -1,7 +1,39 @@
|
||||||
# Ordle: A Wordle Solver
|
# Ordle: A Wordle Solver
|
||||||
## Design
|
## Design
|
||||||
|
Programmet är strukturerat i tre huvudkomponenter som arbetar tillsammans för
|
||||||
|
att lösa Wordle-pussel. Den första delen hanterar inläsning och förberedelse av
|
||||||
|
ordlistan. funktionen *read\_candidates* läser in alla ord från en fil och
|
||||||
|
filtrerar ut de som inte är fem bokstäver långa. Samtidigt konverteras orden
|
||||||
|
till gemener och dubbletter tas bort. Detta säkerställer att programmet börjar
|
||||||
|
med en ren lista av potentiella lösningar.
|
||||||
|
|
||||||
|
Den andra delen av programmet fokuserar på filtrering av ord baserat på
|
||||||
|
användarens input- Här används 3 funktoter för att hantera olika typer av krav:
|
||||||
|
|
||||||
|
* *wrong\_fn* filterar bort ord som innehåller bokstäver som användaren angivit
|
||||||
|
“felaktiga”.
|
||||||
|
* *correct\_fn* säkerställer att de ord som finns kvar har alla gröna bokstäver
|
||||||
|
på rätt positioner.
|
||||||
|
* *misplaced\_fn* kontrollerar att gula bokstäver finns i ordet, men inte på de
|
||||||
|
positioner som angivits som felaktiga.
|
||||||
|
|
||||||
|
Dessa funktioner används i funktionen *do\_filter*, som applicerar användarens
|
||||||
|
kriterier på den aktuella listan av kandidater. Efter varje steg minskar
|
||||||
|
antalet möjliga lösningar tills en kandidat återstår, eller tills användaren
|
||||||
|
väljer att avsluta.
|
||||||
|
|
||||||
|
Den tredje komponenten hanterar användarinteraktionen. Funktionen *prompt*
|
||||||
|
används för att samla in indata från användaren. Bokstäver som inte finns i
|
||||||
|
ordet, gröna bokstäver med deras positioner och gula bokstäver med deras
|
||||||
|
felaktiga positioner. Denna indata används sedan för att uppdatera
|
||||||
|
filtreringen.
|
||||||
|
|
||||||
|
Programmet består av 3 filer. Vilket är *main.cc* som kör självaste programmet
|
||||||
|
och använder logik från *ordle.cc* genom att inkludera *ordle.h*. *ordle.h* är
|
||||||
|
definitionen för *ordle.cc* och *ordle.cc* är självaste logiken.
|
||||||
## Build Instructions
|
## Build Instructions
|
||||||
Common actions are defined in the provided Justfile and can be viewed with `just -l`
|
Common actions are defined in the provided Justfile and can be viewed with
|
||||||
|
`just -l`
|
||||||
|
|
||||||
For a release build:
|
For a release build:
|
||||||
```bash
|
```bash
|
||||||
|
|
Loading…
Reference in a new issue