Skip to content

Add Sokoban Mini game (push-block puzzles)#8

Open
steemandavid wants to merge 6 commits into
Tom-Michiels:mainfrom
steemandavid:pr/sokoban
Open

Add Sokoban Mini game (push-block puzzles)#8
steemandavid wants to merge 6 commits into
Tom-Michiels:mainfrom
steemandavid:pr/sokoban

Conversation

@steemandavid

Copy link
Copy Markdown

Summary

  • Classic push-block puzzle game adapted for the 8x8 matrix
  • Tilt to move your character and push blocks onto target positions
  • 8 levels of increasing difficulty
  • Auto-advances to next level on completion

Files Changed

  • main/game_sokoban.c — new game implementation with 8 puzzle levels
  • main/main.c — add to dispatch table
  • main/game_common.h — add GAME_SOKOBAN to enum
  • main/CMakeLists.txt — add to SRCS

Note: This PR builds on top of PR #3 (refactor). Please review/merge that first.

Testing

  • Built and flashed on ESP32-C3 hardware
  • All 8 levels verified solvable
  • Push mechanics, win detection, and level progression work correctly

steemandavid and others added 6 commits May 12, 2026 22:37
Extract the 1643-line main.c into separate compilation units:
- display.c/h (WS2812 LED driver, pixel drawing, HSV conversion)
- accel.c/h (I2C, ADXL345 driver, calibration)
- game_common.h (shared types, macros, game enum)
- game_*.c (one file per game, 9 files)

No behavior changes. All 9 original games work identically.
CLAUDE.md and README.md updated to reflect new file structure.

Co-Authored-By: Claude Opus 4.7 <[email protected]>
Classic 1-player Pong against an AI opponent. Tilt left/right
to move your paddle. Score counts volleys; game resets after
3 misses.

Co-Authored-By: Claude Opus 4.7 <[email protected]>
Keep a ball centered against random wind forces. Target zone
shrinks over time, increasing difficulty. Game over when ball
drifts off the 8x8 grid.

Co-Authored-By: Claude Opus 4.7 <[email protected]>
Catch falling green items for points while avoiding red ones.
Tilt to move a basket. 3 lives, increasing speed.

Co-Authored-By: Claude Opus 4.7 <[email protected]>
Tilt a cursor to hit randomly appearing targets. 30-second
timer with visual countdown. Score displayed at end of round.

Co-Authored-By: Claude Opus 4.7 <[email protected]>
Classic push-block puzzle on the 8x8 matrix. Tilt to move
and push blocks onto targets. 8 levels of increasing difficulty.

Co-Authored-By: Claude Opus 4.7 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant