You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+34-20Lines changed: 34 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,19 +2,19 @@
2
2
3
3
A terminal-based puzzle game collection built with [Bubble Tea](https://github.com/charmbracelet/bubbletea).
4
4
5
-
Twelve puzzle types, multiple difficulty modes, daily and weekly deterministic challenges, XP progression, 365 color themes, and an explicit game catalog for adding new games.
5
+
Fourteen puzzle games, multiple difficulty modes, daily and weekly deterministic challenges, XP progression, 365 theme options, and an explicit built-in registry plus metadata catalog for adding new games.
-**Daily puzzles** -- A unique puzzle generated each day using deterministic seeding. Same date, same puzzle for everyone. Streak tracking rewards consecutive daily completions.
13
13
-**Weekly gauntlet** -- Each ISO calendar week has a shared 99-puzzle ladder. The current week unlocks sequentially from `#01` to `#99`; past weeks can be reviewed from completed saves only.
14
14
-**XP and leveling** -- Per-category levels based on victories. Harder modes yield more XP. Daily puzzles grant 2x XP, and weekly puzzles add slot-based bonus XP.
15
15
-**Stats dashboard** -- Profile level, daily streak status, weekly completion progress, victory counts, and XP progress bars per category.
16
16
-**365 color themes** -- Live-preview theme picker with WCAG-compliant contrast enforcement. Dark and light themes included.
17
-
-**Mouse support** -- Click and drag in Nonogram, Nurikabe, Shikaku, Spell Puzzle, and Word Search. Lights Out supports click-to-toggle.
17
+
-**Mouse support** -- Drag interactions in Nonogram, Nurikabe, Shikaku, Spell Puzzle, and Word Search; click-to-focus in Fillomino, Hashiwokakero, Hitori, Sudoku, Sudoku RGB, Takuzu, and Takuzu+; click-to-toggle in Lights Out.
18
18
-**Seeded puzzles** -- Share a seed string to generate identical puzzles across sessions and machines.
19
19
-**Save/load persistence** -- Games auto-save to SQLite. Resume any in-progress game by name.
20
20
@@ -23,13 +23,14 @@ Twelve puzzle types, multiple difficulty modes, daily and weekly deterministic c
23
23
| Game | Description | Modes |
24
24
|------|-------------|-------|
25
25
|**Fillomino**| Grow numbered regions to their exact sizes | Mini 5x5 through Expert 12x12 |
26
-
|**Nonogram**| Fill cells to match row and column hints |Easy/Medium/Hard across 5x5, 10x10, 15x15, 20x20 |
26
+
|**Nonogram**| Fill cells to match row and column hints |10 named modes from 5x5`Mini` to 20x20`Massive`|
27
27
|**Nurikabe**| Build islands while keeping one connected sea | 5 modes from 5x5 to 12x12 |
28
28
|**Ripple Effect**| Place digits in cages without violating ripple distance | Mini 5x5 through Expert 9x9 |
29
-
|**Shikaku**| Divide grid into rectangles matching cell counts |5 modes from 7x7 to 11x11|
29
+
|**Shikaku**| Divide grid into rectangles matching cell counts |Mini 5x5 through Expert 12x12|
|**Sudoku RGB**| Fill a 9x9 grid with three symbols so each row, column, and box contains three of each | Beginner, Easy, Medium, Hard, Expert, Diabolical |
31
32
|**Spell Puzzle**| Connect letters to reveal crossword words and bonus anagrams | Beginner, Easy, Medium, Hard |
32
-
|**Word Search**| Find hidden words in a letter grid | Easy, Medium, Hard (3-8 directions)|
33
+
|**Word Search**| Find hidden words in a letter grid | Easy 10x10, Medium 15x15, Hard 20x20|
33
34
|**Hashiwokakero**| Connect islands with bridges | 12 modes across 7x7 to 13x13 grids |
34
35
|**Hitori**| Shade cells to eliminate duplicates | 6 modes from 5x5 to 12x12 |
35
36
|**Lights Out**| Toggle lights to turn all off | Easy (3x3) to Extreme (9x9) |
@@ -99,15 +100,19 @@ that week. Current-week puzzles unlock one at a time; older weeks are review-onl
99
100
Start a new game directly:
100
101
101
102
```bash
102
-
puzzletea new nonogram medium
103
+
puzzletea new nonogram classic
103
104
puzzletea new fillomino "Hard 10x10"
104
105
puzzletea new ripple-effect "Medium 7x7"
105
106
puzzletea new sudoku hard
107
+
puzzletea new ripeto expert
106
108
puzzletea new spell beginner
107
109
puzzletea new lights-out
108
-
puzzletea new hashi easy
110
+
puzzletea new hashi "Easy 7x7"
109
111
```
110
112
113
+
Mode names are matched case-insensitively after normalizing spaces, hyphens,
114
+
and underscores. Multi-word mode titles usually need quotes.
Several shorthand names are accepted for games: `polyomino`/`regions` for Fillomino, `hashi`/`bridges` for Hashiwokakero, `lights` for Lights Out, `islands`/`sea` for Nurikabe, `ripple` for Ripple Effect, `spell`/`spellpuzzle` for Spell Puzzle, `binairo`/`binary` for Takuzu, `binario+`for Takuzu+, `words`/`ws` for Word Search, `rectangles` for Shikaku.
181
+
Several shorthand names are accepted for games: `polyomino`/`regions` for Fillomino, `hashi`/`bridges` for Hashiwokakero, `lights` for Lights Out, `islands`/`sea` for Nurikabe, `ripple` for Ripple Effect, `spell`/`spellpuzzle` for Spell Puzzle, `rgb sudoku`/`ripeto`/`sudoku ripeto` for Sudoku RGB, `binairo`/`binary` for Takuzu, `takuzu plus`/`binario+`/`binario plus`for Takuzu+, `words`/`wordsearch`/`ws` for Word Search, and`rectangles` for Shikaku.
177
182
178
183
## Controls
179
184
@@ -185,7 +190,6 @@ Several shorthand names are accepted for games: `polyomino`/`regions` for Fillom
185
190
|`Escape`| Return to the menu or go back |
186
191
|`Ctrl+R`| Reset puzzle |
187
192
|`Ctrl+H`| Toggle full help |
188
-
|`Ctrl+E`| Toggle debug overlay |
189
193
|`Ctrl+C`| Quit |
190
194
191
195
### Navigation
@@ -194,7 +198,7 @@ Arrow keys, WASD, and Vim bindings (`hjkl`) are supported for grid movement acro
194
198
195
199
### Mouse
196
200
197
-
Nonogram, Nurikabe, Shikaku, Spell Puzzle, and Word Search support click and drag. Lights Out supports click to toggle. See each game's help for details.
201
+
Nonogram, Nurikabe, Shikaku, Spell Puzzle, and Word Search support drag interactions. Fillomino, Hashiwokakero, Hitori, Sudoku, Sudoku RGB, Takuzu, and Takuzu+ support mouse focus or click-to-cycle interactions. Lights Out supports click to toggle. See each game's help for details.
198
202
199
203
## Game Persistence
200
204
@@ -321,29 +325,34 @@ All code must pass `gofumpt` and `golangci-lint` before committing. CI runs both
321
325
322
326
## Adding a New Puzzle
323
327
324
-
PuzzleTea uses an explicit game catalog. To add a new puzzle type:
328
+
PuzzleTea uses an explicit built-in registry plus a metadata catalog. To add a new puzzle type:
325
329
326
330
### 1. Create the game package
327
331
328
332
Create a directory (e.g., `mypuzzle/`) with these files:
0 commit comments