Source Code
Boggle Solver
Fast trie-based DFS solver with dictionary-only matching. No AI/LLM guessing โ words are validated exclusively against bundled dictionaries (359K English + 1.35M German).
Workflow (from photo)
- Read the 4x4 grid from the photo (left-to-right, top-to-bottom)
- Show the grid to the user and ask for confirmation before solving
- Only after user confirms โ run the solver
- Always run English and German SEPARATELY โ present as two labeled sections (๐ฌ๐ง / ๐ฉ๐ช)
Solve a board
# English
python3 skills/boggle/scripts/solve.py ELMU ZBTS ETVO CKNA --lang en
# German
python3 skills/boggle/scripts/solve.py ELMU ZBTS ETVO CKNA --lang de
Each row is one argument (4 letters). Or use --letters:
python3 skills/boggle/scripts/solve.py --letters ELMUZBTSETVOCKNA --lang en
Options
| Flag | Description |
|---|---|
--lang en/de |
Language (default: en; always run EN and DE separately) |
--min N |
Minimum word length (default: 3) |
--json |
JSON output with scores |
--dict FILE |
Custom dictionary (repeatable) |
Scoring (standard Boggle)
- 3-4 letters: 1 pt
- 5 letters: 2 pts
- 6 letters: 3 pts
- 7 letters: 5 pts
- 8+ letters: 11 pts
How it works
- Builds a trie from dictionary files (one-time, ~11s)
- DFS traversal from every cell, pruned by trie prefixes
- Adjacency: 8 neighbors (horizontal, vertical, diagonal)
- Each cell used at most once per word
- Qu tile support: Standard Boggle "Qu" tiles are handled as a single cell (e.g.,
QUENHARI...โ "QU" occupies one position) - All matching is dictionary-only โ no generative/guessed words
Data
Dictionaries are auto-downloaded from GitHub on first run if missing.
data/words_english_boggle.txtโ 359K English wordsdata/words_german_boggle.txtโ 1.35M German words
Performance
- Trie build: ~11s (first run, 1.7M words)
- Solve: <5ms per board