clone

fifteen puzzle games for the terminal, with daily puzzles, weekly ladders and xp, built on bubble tea

move games under the game folder to better scope domain

Dami committed 552a9bb
commit
552a9bb0801e05e429ce3de15145d3e1f885f6d5
parent
e3a7752d538199b3a791b7b031e2708c2e27ad9b
author
Dami <dami.etoile@gmail.com>
90 files changed, +36 -26
MAGENTS.md16+++++++++++++---
Mapp/model.go16++++++++--------
Mdaily/daily.go16++++++++--------
Rhashiwokakero/Export.go → game/hashiwokakero/Export.go0
Rhashiwokakero/Gamemode.go → game/hashiwokakero/Gamemode.go0
Rhashiwokakero/Model.go → game/hashiwokakero/Model.go0
Rhashiwokakero/README.md → game/hashiwokakero/README.md0
Rhashiwokakero/generator.go → game/hashiwokakero/generator.go0
Rhashiwokakero/hashiwokakero_test.go → game/hashiwokakero/hashiwokakero_test.go0
Rhashiwokakero/help.md → game/hashiwokakero/help.md0
Rhashiwokakero/island.go → game/hashiwokakero/island.go0
Rhashiwokakero/keys.go → game/hashiwokakero/keys.go0
Rhashiwokakero/style.go → game/hashiwokakero/style.go0
Rhitori/Export.go → game/hitori/Export.go0
Rhitori/Gamemode.go → game/hitori/Gamemode.go0
Rhitori/Model.go → game/hitori/Model.go0
Rhitori/README.md → game/hitori/README.md0
Rhitori/generator.go → game/hitori/generator.go0
Rhitori/grid.go → game/hitori/grid.go0
Rhitori/help.md → game/hitori/help.md0
Rhitori/hitori_test.go → game/hitori/hitori_test.go0
Rhitori/keys.go → game/hitori/keys.go0
Rhitori/solver.go → game/hitori/solver.go0
Rhitori/style.go → game/hitori/style.go0
Rlightsout/Export.go → game/lightsout/Export.go0
Rlightsout/Gamemode.go → game/lightsout/Gamemode.go0
Rlightsout/Model.go → game/lightsout/Model.go0
Rlightsout/README.md → game/lightsout/README.md0
Rlightsout/generator.go → game/lightsout/generator.go0
Rlightsout/help.md → game/lightsout/help.md0
Rlightsout/keys.go → game/lightsout/keys.go0
Rlightsout/lightsout_test.go → game/lightsout/lightsout_test.go0
Rlightsout/style.go → game/lightsout/style.go0
Rnonogram/Export.go → game/nonogram/Export.go0
Rnonogram/Gamemode.go → game/nonogram/Gamemode.go0
Rnonogram/Model.go → game/nonogram/Model.go0
Rnonogram/README.md → game/nonogram/README.md0
Rnonogram/generator.go → game/nonogram/generator.go0
Rnonogram/grid.go → game/nonogram/grid.go0
Rnonogram/help.md → game/nonogram/help.md0
Rnonogram/keys.go → game/nonogram/keys.go0
Rnonogram/mouse.go → game/nonogram/mouse.go0
Rnonogram/nonogram_test.go → game/nonogram/nonogram_test.go0
Rnonogram/style.go → game/nonogram/style.go0
Rnonogram/tomography.go → game/nonogram/tomography.go0
Rshikaku/Export.go → game/shikaku/Export.go0
Rshikaku/Gamemode.go → game/shikaku/Gamemode.go0
Rshikaku/Model.go → game/shikaku/Model.go0
Rshikaku/README.md → game/shikaku/README.md0
Rshikaku/generator.go → game/shikaku/generator.go0
Rshikaku/help.md → game/shikaku/help.md0
Rshikaku/keys.go → game/shikaku/keys.go0
Rshikaku/mouse.go → game/shikaku/mouse.go0
Rshikaku/puzzle.go → game/shikaku/puzzle.go0
Rshikaku/shikaku_test.go → game/shikaku/shikaku_test.go0
Rshikaku/style.go → game/shikaku/style.go0
Rsudoku/Export.go → game/sudoku/Export.go0
Rsudoku/Gamemode.go → game/sudoku/Gamemode.go0
Rsudoku/Model.go → game/sudoku/Model.go0
Rsudoku/README.md → game/sudoku/README.md0
Rsudoku/cell.go → game/sudoku/cell.go0
Rsudoku/generator.go → game/sudoku/generator.go0
Rsudoku/help.md → game/sudoku/help.md0
Rsudoku/keys.go → game/sudoku/keys.go0
Rsudoku/style.go → game/sudoku/style.go0
Rsudoku/sudoku_test.go → game/sudoku/sudoku_test.go0
Rtakuzu/Export.go → game/takuzu/Export.go0
Rtakuzu/Gamemode.go → game/takuzu/Gamemode.go0
Rtakuzu/Model.go → game/takuzu/Model.go0
Rtakuzu/README.md → game/takuzu/README.md0
Rtakuzu/generator.go → game/takuzu/generator.go0
Rtakuzu/grid.go → game/takuzu/grid.go0
Rtakuzu/help.md → game/takuzu/help.md0
Rtakuzu/keys.go → game/takuzu/keys.go0
Rtakuzu/style.go → game/takuzu/style.go0
Rtakuzu/takuzu_test.go → game/takuzu/takuzu_test.go0
Rwordsearch/Export.go → game/wordsearch/Export.go0
Rwordsearch/Gamemode.go → game/wordsearch/Gamemode.go0
Rwordsearch/Model.go → game/wordsearch/Model.go0
Rwordsearch/README.md → game/wordsearch/README.md0
Rwordsearch/generator.go → game/wordsearch/generator.go0
Rwordsearch/grid.go → game/wordsearch/grid.go0
Rwordsearch/help.md → game/wordsearch/help.md0
Rwordsearch/keys.go → game/wordsearch/keys.go0
Rwordsearch/mouse.go → game/wordsearch/mouse.go0
Rwordsearch/style.go → game/wordsearch/style.go0
Rwordsearch/word.go → game/wordsearch/word.go0
Rwordsearch/words_dict.go → game/wordsearch/words_dict.go0
Rwordsearch/wordsearch_test.go → game/wordsearch/wordsearch_test.go0
Mresolve/resolve_test.go14+++++++-------
M AGENTS.md +13 -3
@@ -47,14 +47,24 @@ puzzletea/
4747 ├── stats/ # Stats & progression system4848 │ ├── stats.go # XP/level math, streaks, card data + rendering4949 │ └── stats_test.go # Tests for XP, levels, streaks, cards50-├── game/ # Plugin interfaces (Gamer, Mode, Spawner), cursor, keys, style50+├── game/ # Plugin interfaces + all puzzle implementations51+│ ├── gamer.go # Gamer, Mode, Spawner interfaces, Category, Registry52+│ ├── cursor.go # Shared cursor logic53+│ ├── keys.go # Global game key bindings54+│ ├── style.go # Shared game styles (border, colors)55+│ ├── hashiwokakero/ # Connect islands with bridges56+│ ├── hitori/ # Shade cells to eliminate duplicates57+│ ├── lightsout/ # Turn off all the lights58+│ ├── nonogram/ # Fill cells to match row/column hints59+│ ├── shikaku/ # Divide the grid into rectangles60+│ ├── sudoku/ # Classic 9x9 sudoku61+│ ├── takuzu/ # Binary puzzle (fill with circles)62+│ └── wordsearch/ # Find hidden words in a letter grid5163 ├── store/ # SQLite persistence (GameRecord, CRUD, stats queries)5264 ├── ui/ # Shared UI: menu list, table, panel, styles, MenuItem5365 ├── daily/ # Daily puzzle seeding, RNG, mode selection5466 ├── resolve/ # CLI argument resolution (category/mode name matching)5567 ├── namegen/ # Adjective-noun name generator56-├── hashiwokakero/, hitori/, lightsout/, nonogram/57-├── shikaku/, sudoku/, takuzu/, wordsearch/ # Puzzle game packages5868 ├── plan/ # Design/planning documents5969 └── vhs/ # GIF preview tapes6070 ```
M app/model.go +8 -8
M daily/daily.go +8 -8
R hashiwokakero/Export.go → game/hashiwokakero/Export.go +0 -0

No content changes.

R hashiwokakero/Gamemode.go → game/hashiwokakero/Gamemode.go +0 -0

No content changes.

R hashiwokakero/Model.go → game/hashiwokakero/Model.go +0 -0

No content changes.

R hashiwokakero/README.md → game/hashiwokakero/README.md +0 -0

No content changes.

R hashiwokakero/generator.go → game/hashiwokakero/generator.go +0 -0

No content changes.

R hashiwokakero/hashiwokakero_test.go → game/hashiwokakero/hashiwokakero_test.go +0 -0

No content changes.

R hashiwokakero/help.md → game/hashiwokakero/help.md +0 -0

No content changes.

R hashiwokakero/island.go → game/hashiwokakero/island.go +0 -0

No content changes.

R hashiwokakero/keys.go → game/hashiwokakero/keys.go +0 -0

No content changes.

R hashiwokakero/style.go → game/hashiwokakero/style.go +0 -0

No content changes.

R hitori/Export.go → game/hitori/Export.go +0 -0

No content changes.

R hitori/Gamemode.go → game/hitori/Gamemode.go +0 -0

No content changes.

R hitori/Model.go → game/hitori/Model.go +0 -0

No content changes.

R hitori/README.md → game/hitori/README.md +0 -0

No content changes.

R hitori/generator.go → game/hitori/generator.go +0 -0

No content changes.

R hitori/grid.go → game/hitori/grid.go +0 -0

No content changes.

R hitori/help.md → game/hitori/help.md +0 -0

No content changes.

R hitori/hitori_test.go → game/hitori/hitori_test.go +0 -0

No content changes.

R hitori/keys.go → game/hitori/keys.go +0 -0

No content changes.

R hitori/solver.go → game/hitori/solver.go +0 -0

No content changes.

R hitori/style.go → game/hitori/style.go +0 -0

No content changes.

R lightsout/Export.go → game/lightsout/Export.go +0 -0

No content changes.

R lightsout/Gamemode.go → game/lightsout/Gamemode.go +0 -0

No content changes.

R lightsout/Model.go → game/lightsout/Model.go +0 -0

No content changes.

R lightsout/README.md → game/lightsout/README.md +0 -0

No content changes.

R lightsout/generator.go → game/lightsout/generator.go +0 -0

No content changes.

R lightsout/help.md → game/lightsout/help.md +0 -0

No content changes.

R lightsout/keys.go → game/lightsout/keys.go +0 -0

No content changes.

R lightsout/lightsout_test.go → game/lightsout/lightsout_test.go +0 -0

No content changes.

R lightsout/style.go → game/lightsout/style.go +0 -0

No content changes.

R nonogram/Export.go → game/nonogram/Export.go +0 -0

No content changes.

R nonogram/Gamemode.go → game/nonogram/Gamemode.go +0 -0

No content changes.

R nonogram/Model.go → game/nonogram/Model.go +0 -0

No content changes.

R nonogram/README.md → game/nonogram/README.md +0 -0

No content changes.

R nonogram/generator.go → game/nonogram/generator.go +0 -0

No content changes.

R nonogram/grid.go → game/nonogram/grid.go +0 -0

No content changes.

R nonogram/help.md → game/nonogram/help.md +0 -0

No content changes.

R nonogram/keys.go → game/nonogram/keys.go +0 -0

No content changes.

R nonogram/mouse.go → game/nonogram/mouse.go +0 -0

No content changes.

R nonogram/nonogram_test.go → game/nonogram/nonogram_test.go +0 -0

No content changes.

R nonogram/style.go → game/nonogram/style.go +0 -0

No content changes.

R nonogram/tomography.go → game/nonogram/tomography.go +0 -0

No content changes.

R shikaku/Export.go → game/shikaku/Export.go +0 -0

No content changes.

R shikaku/Gamemode.go → game/shikaku/Gamemode.go +0 -0

No content changes.

R shikaku/Model.go → game/shikaku/Model.go +0 -0

No content changes.

R shikaku/README.md → game/shikaku/README.md +0 -0

No content changes.

R shikaku/generator.go → game/shikaku/generator.go +0 -0

No content changes.

R shikaku/help.md → game/shikaku/help.md +0 -0

No content changes.

R shikaku/keys.go → game/shikaku/keys.go +0 -0

No content changes.

R shikaku/mouse.go → game/shikaku/mouse.go +0 -0

No content changes.

R shikaku/puzzle.go → game/shikaku/puzzle.go +0 -0

No content changes.

R shikaku/shikaku_test.go → game/shikaku/shikaku_test.go +0 -0

No content changes.

R shikaku/style.go → game/shikaku/style.go +0 -0

No content changes.

R sudoku/Export.go → game/sudoku/Export.go +0 -0

No content changes.

R sudoku/Gamemode.go → game/sudoku/Gamemode.go +0 -0

No content changes.

R sudoku/Model.go → game/sudoku/Model.go +0 -0

No content changes.

R sudoku/README.md → game/sudoku/README.md +0 -0

No content changes.

R sudoku/cell.go → game/sudoku/cell.go +0 -0

No content changes.

R sudoku/generator.go → game/sudoku/generator.go +0 -0

No content changes.

R sudoku/help.md → game/sudoku/help.md +0 -0

No content changes.

R sudoku/keys.go → game/sudoku/keys.go +0 -0

No content changes.

R sudoku/style.go → game/sudoku/style.go +0 -0

No content changes.

R sudoku/sudoku_test.go → game/sudoku/sudoku_test.go +0 -0

No content changes.

R takuzu/Export.go → game/takuzu/Export.go +0 -0

No content changes.

R takuzu/Gamemode.go → game/takuzu/Gamemode.go +0 -0

No content changes.

R takuzu/Model.go → game/takuzu/Model.go +0 -0

No content changes.

R takuzu/README.md → game/takuzu/README.md +0 -0

No content changes.

R takuzu/generator.go → game/takuzu/generator.go +0 -0

No content changes.

R takuzu/grid.go → game/takuzu/grid.go +0 -0

No content changes.

R takuzu/help.md → game/takuzu/help.md +0 -0

No content changes.

R takuzu/keys.go → game/takuzu/keys.go +0 -0

No content changes.

R takuzu/style.go → game/takuzu/style.go +0 -0

No content changes.

R takuzu/takuzu_test.go → game/takuzu/takuzu_test.go +0 -0

No content changes.

R wordsearch/Export.go → game/wordsearch/Export.go +0 -0

No content changes.

R wordsearch/Gamemode.go → game/wordsearch/Gamemode.go +0 -0

No content changes.

R wordsearch/Model.go → game/wordsearch/Model.go +0 -0

No content changes.

R wordsearch/README.md → game/wordsearch/README.md +0 -0

No content changes.

R wordsearch/generator.go → game/wordsearch/generator.go +0 -0

No content changes.

R wordsearch/grid.go → game/wordsearch/grid.go +0 -0

No content changes.

R wordsearch/help.md → game/wordsearch/help.md +0 -0

No content changes.

R wordsearch/keys.go → game/wordsearch/keys.go +0 -0

No content changes.

R wordsearch/mouse.go → game/wordsearch/mouse.go +0 -0

No content changes.

R wordsearch/style.go → game/wordsearch/style.go +0 -0

No content changes.

R wordsearch/word.go → game/wordsearch/word.go +0 -0

No content changes.

R wordsearch/words_dict.go → game/wordsearch/words_dict.go +0 -0

No content changes.

R wordsearch/wordsearch_test.go → game/wordsearch/wordsearch_test.go +0 -0

No content changes.

M resolve/resolve_test.go +7 -7