clone

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

add vhs gif generation and pipeline

Dami committed ca6ce18
commit
ca6ce181d94f60bb860fadc6ef158a579d039542
parent
ff6f3b2af1c53ba561df91c1fe1820fdd2d32eba
author
Dami <dami.etoile@gmail.com>
15 files changed, +690 -0
A.github/workflows/vhs.yml63++++++++++++++++++++++++++++++
MREADME.md39+++++++++++++++++++
Ahashiwokakero/README.md63++++++++++++++++++++++++++++++
Mjustfile9++++
Alightsout/README.md38++++++++++++++++++
Anonogram/README.md53+++++++++++++++++++++++++
Asudoku/README.md42++++++++++++++++++++
Avhs/config.tape4++
Avhs/hashiwokakero.tape57+++++++++++++++++++++++++++
Avhs/lightsout.tape45+++++++++++++++++++++
Avhs/menu.tape62++++++++++++++++++++++++++++++
Avhs/nonogram.tape58++++++++++++++++++++++++++++
Avhs/sudoku.tape52+++++++++++++++++++++++++
Avhs/wordsearch.tape62++++++++++++++++++++++++++++++
Awordsearch/README.md43++++++++++++++++++++
A .github/workflows/vhs.yml +63 -0
M README.md +39 -0
A hashiwokakero/README.md +63 -0
@@ -0,0 +1,63 @@
1+# Hashiwokakero2+3+Connect islands with bridges to form a single connected group.4+5+![Hashiwokakero gameplay](../vhs/hashiwokakero.gif)6+7+## How to Play8+9+Islands are numbered circles on the grid. Each number indicates how many10+bridges must connect to that island. Bridges run horizontally or vertically11+between adjacent islands, may not cross, and can be single or double.12+The puzzle is solved when every island has exactly the required number of13+bridges and all islands are connected.14+15+1. Navigate to an island and press `Enter` or `Space` to select it.16+2. Press an arrow key toward an adjacent island to build a bridge.17+3. Press the same direction again to upgrade to a double bridge, or a18+ third time to remove the bridge.19+4. Press `Enter`, `Space`, or `Escape` to deselect.20+21+## Controls22+23+### Navigation Mode24+25+| Key | Action |26+|-----|--------|27+| Arrow keys / WASD / hjkl | Jump to nearest island |28+| `Enter` / `Space` | Select island for bridging |29+| `Ctrl+H` | Toggle full help |30+| `Ctrl+E` | Toggle debug overlay |31+| `Ctrl+N` | Return to main menu |32+33+### Bridge Mode (after selecting an island)34+35+| Key | Action |36+|-----|--------|37+| Arrow keys / WASD / hjkl | Build or cycle bridge in direction |38+| `Enter` / `Space` / `Escape` | Deselect island |39+40+## Modes41+42+| Mode | Grid | Islands | Description |43+|------|------|---------|-------------|44+| Easy 7x7 | 7x7 | 8-10 | Small grid, few islands |45+| Medium 7x7 | 7x7 | 12-15 | Moderate density |46+| Hard 7x7 | 7x7 | 17-20 | Dense island placement |47+| Easy 9x9 | 9x9 | 12-16 | Larger grid, spread out |48+| Medium 9x9 | 9x9 | 20-24 | Moderate density |49+| Hard 9x9 | 9x9 | 28-32 | Dense island placement |50+| Easy 11x11 | 11x11 | 18-24 | Large grid, spread out |51+| Medium 11x11 | 11x11 | 30-36 | Moderate density |52+| Hard 11x11 | 11x11 | 42-48 | Dense island placement |53+| Easy 13x13 | 13x13 | 25-34 | Largest grid, spread out |54+| Medium 13x13 | 13x13 | 42-51 | Moderate density |55+| Hard 13x13 | 13x13 | 59-68 | Dense island placement |56+57+## Quick Start58+59+```bash60+puzzletea new hashi easy-7x761+puzzletea new hashi medium-9x962+puzzletea new hashi hard-13x1363+```
M justfile +9 -0
A lightsout/README.md +38 -0
A nonogram/README.md +53 -0
@@ -0,0 +1,53 @@
1+# Nonogram2+3+Fill cells to match row and column hints, revealing a hidden pattern.4+5+![Nonogram gameplay](../vhs/nonogram.gif)6+7+## How to Play8+9+Navigate the grid and fill or mark cells based on the numeric hints along10+each row and column. The hints tell you how many consecutive filled cells11+appear in that line, in order. Hints turn green when a row or column is12+correctly satisfied.13+14+- **Filled** cells count toward hint satisfaction.15+- **Marked** cells are visual reminders that a cell should stay empty.16+- The puzzle is solved when every row and column matches its hints.17+18+## Controls19+20+| Key | Action |21+|-----|--------|22+| Arrow keys / WASD / hjkl | Move cursor |23+| `z` | Fill cell |24+| `x` | Mark cell |25+| `Backspace` | Clear cell |26+| `Ctrl+H` | Toggle full help |27+| `Ctrl+E` | Toggle debug overlay |28+| `Ctrl+N` | Return to main menu |29+30+## Modes31+32+| Mode | Grid | Density | Description |33+|------|------|---------|-------------|34+| Easy 5x5 | 5x5 | ~35% | Simple hints |35+| Medium 5x5 | 5x5 | ~50% | Balanced challenge |36+| Hard 5x5 | 5x5 | ~65% | Dense hints |37+| Easy 10x10 | 10x10 | ~35% | Simple hints |38+| Medium 10x10 | 10x10 | ~50% | Balanced challenge |39+| Hard 10x10 | 10x10 | ~65% | Dense hints |40+| Easy 15x15 | 15x15 | ~35% | Simple hints |41+| Medium 15x15 | 15x15 | ~50% | Balanced challenge |42+| Hard 15x15 | 15x15 | ~65% | Dense hints |43+| Easy 20x20 | 20x20 | ~35% | Simple hints |44+| Medium 20x20 | 20x20 | ~50% | Balanced challenge |45+| Hard 20x20 | 20x20 | ~65% | Dense hints |46+47+## Quick Start48+49+```bash50+puzzletea new nonogram easy-5x551+puzzletea new nonogram medium-10x1052+puzzletea new nonogram hard-20x2053+```
A sudoku/README.md +42 -0
A vhs/config.tape +4 -0
A vhs/hashiwokakero.tape +57 -0
A vhs/lightsout.tape +45 -0
A vhs/menu.tape +62 -0
A vhs/nonogram.tape +58 -0
A vhs/sudoku.tape +52 -0
A vhs/wordsearch.tape +62 -0
A wordsearch/README.md +43 -0