Skip to content

Add Marble Race game (scrolling track steering)#9

Open
steemandavid wants to merge 7 commits into
Tom-Michiels:mainfrom
steemandavid:pr/marble-race
Open

Add Marble Race game (scrolling track steering)#9
steemandavid wants to merge 7 commits into
Tom-Michiels:mainfrom
steemandavid:pr/marble-race

Conversation

@steemandavid

Copy link
Copy Markdown

Summary

  • Steer a marble along an auto-scrolling winding track
  • Tilt left/right to stay on the path as speed increases
  • 3 lives — go off-track and you lose one
  • Score equals distance traveled

Files Changed

  • main/game_marble_race.c — new game implementation
  • main/main.c — add to dispatch table
  • main/game_common.h — add GAME_MARBLE_RACE 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
  • Track generation produces smooth, navigable paths
  • Speed increase creates engaging difficulty curve

steemandavid and others added 7 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]>
Steer a marble along an auto-scrolling winding track.
Tilt to stay on path. 3 lives, increasing speed.

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