~earboxer/gurglesolver

Solve gurgle [wordle] puzzles in a unix-like way
README: document easy way to generate solutions.txt and guessable.txt
LICENSE: under AGPLv3-only
readme: add

refs

zachster
browse  log 

clone

read-only
https://git.sr.ht/~earboxer/gurglesolver
read/write
git@git.sr.ht:~earboxer/gurglesolver

You can also use your local clone with git send-email.

These utilities help to solve gurgle puzzles.


STRATEGY

1. Figure out what letters you need
2. Guess the word


WHAT YOU NEED

two files:
* solutions.txt
* guessable.txt
(a basic 5-letter-word list will suffice for both)

If you have dictionaries in /usr/share/dict, these commands might be useful to make the lists.

```sh
# solutions is just words
cat /usr/share/dict/* | grep '^[a-z][a-z][a-z][a-z][a-z]$' | sort -u > solutions.txt
# guessable also includes proper nouns
cat /usr/share/dict/* | tr '[:upper:]' '[:lower]' | grep '^[a-z][a-z][a-z][a-z][a-z]$' | sort -u > guessable.txt
```

posix-compatible programs:
* sh
* grep
* wc
* cat
* tr
* test
* echo
* sort
* uniq
* awk


UTILITIES

* has.sh: filter program for the correct letter in an incorrect position. Called by gurg.sh
* gurg.sh: creates multiple filters for a guess in Guess Syntax
* whatToDo.sh: Gives advice on whether to guess the word, or guess unguessed letters. Has optional threshold parameter.


GUESS SYNTAX

guess G.esS

you guessed the word `guess`, and
* the G was in the correct position
* the U was not present
* the E was in the incorrect position
* the fourth s was in the incorrect position
* the fifth S was in the correct position.


EXAMPLE

```sh
cat solutions.txt | ./whatToDo.sh guessable.txt
# Outputs the Letter Frequency,
# and words that contain the Most Frequent letters.
cat solutions.txt | ./gurg.sh guess ..e.S | ./whatToDo.sh guessable.txt
# Outputs LF and words that contain MF *unguessed* letters.
cat solutions.txt |./gurg.sh guess ..e.S | ./gurg.sh ratio .at.. |./whatToDo.sh guessable.txt
# Outputs a list of Possible Solutions
cat solutions.txt |./gurg.sh guess ..e.S | ./gurg.sh ratio .at.. |./whatToDo.sh guessable.txt 5
# Outputs LF
```


CAVEATS

Currently only supports 5-letter puzzles using ascii characters. Patches welcome.