Skip to content

🎨 Palette: [UX improvement] Add high score, countdown, and start prompt#49

Open
aidasofialily-cmd wants to merge 9 commits intomainfrom
palette-ux-game-polish-13775668471882036360
Open

🎨 Palette: [UX improvement] Add high score, countdown, and start prompt#49
aidasofialily-cmd wants to merge 9 commits intomainfrom
palette-ux-game-polish-13775668471882036360

Conversation

@aidasofialily-cmd
Copy link
Copy Markdown
Owner

💡 What: This PR adds high score persistence, a start prompt, and an animated countdown to SPEED CLICKER.
🎯 Why: The game previously started immediately upon execution, which was jarring. Users had no way to track their best performance across sessions.
📸 Before/After:
Before: Game started immediately; UI had redundant print lines.
After: "Press any key to start" -> 3-2-1 Countdown -> Game with High Score display.
♿ Accessibility: The countdown provides a clear preparation phase. 'q' key is responsive throughout the startup sequence.


PR created automatically by Jules for task 13775668471882036360 started by @aidasofialily-cmd

- Added high score persistence using `highscore.txt`.
- Added "Press any key to start" prompt and a 3-2-1 countdown.
- Consolidated UI update logic for a cleaner, real-time display.
- Added `highscore.txt` to `.gitignore`.
- Ensured fair start by flushing input buffer after countdown.

Co-authored-by: aidasofialily-cmd <247843425+aidasofialily-cmd@users.noreply.github.com>
@google-labs-jules
Copy link
Copy Markdown
Contributor

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

google-labs-jules bot and others added 8 commits February 25, 2026 12:32
- Added "Press any key to start" prompt to prevent immediate game start.
- Hid cursor during gameplay to reduce distraction.
- Restored cursor on normal exit and interrupt signals (SIGINT/SIGTERM).
- Ensured signal handler uses async-signal-safe `write()` with `sizeof` for safety.

Co-authored-by: EiJackGH <172181576+EiJackGH@users.noreply.github.com>
This commit hides the terminal cursor (`\033[?25l`) when the speed clicker game starts and restores it (`\033[?25h`) upon exit or interruption. This reduces visual distraction and makes the frequently updating terminal interface look much cleaner.

- Added cursor hide escape sequence on game init in `main.cpp`
- Added cursor restore sequence on all exit paths in `main.cpp`
- Updated async-signal-safe `restore_terminal` handler to use an array and `sizeof` to safely write the restore sequences
- Logged the UX learning in `.Jules/palette.md`

Co-authored-by: EiJackGH <172181576+EiJackGH@users.noreply.github.com>
…to palette-ux-game-polish-13775668471882036360
…4584857654350251354

Code I want be the guy
…de-cursor-4584857654350251354

Code I want be the guy
…n phase

- Added "Press any key to start" prompt and a 3-2-1 countdown.
- Implemented high score persistence via `highscore.txt`.
- Added `tcflush` to clear preemptive inputs after countdown for fairness.
- Consolidated UI update logic for a cleaner real-time display.
- Added `highscore.txt` to `.gitignore`.
- Updated `.Jules/palette.md` with new UX learnings.

Co-authored-by: aidasofialily-cmd <247843425+aidasofialily-cmd@users.noreply.github.com>
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