Skip to content

feat: add slot machine challenge with progressive difficulty#28

Merged
yagizdo merged 4 commits into
mainfrom
feat/slot-machine-challenge
Jun 6, 2026
Merged

feat: add slot machine challenge with progressive difficulty#28
yagizdo merged 4 commits into
mainfrom
feat/slot-machine-challenge

Conversation

@yagizdo

@yagizdo yagizdo commented Jun 5, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add slot machine dismiss mechanism as a new skip challenge tier (gentle tier 4, firm tier 2)
  • Progressive difficulty: 3 reels on first two attempts, single reel on last attempt
  • Speed decreases each attempt (1.2x → 0.9x → 0.7x) with 0.5× symbol stride overshoot for responsive stop timing
  • Fallback phrase escape ("I prefer sitting anyway") when all three attempts fail

Test plan

  • 146 existing tests pass
  • Verify slot machine appears at correct tier in gentle and firm modes
  • Test all 3 attempts: speed visibly decreases, 3rd attempt shows single reel
  • Test fallback: fail all 3 attempts → phrase input appears → typing phrase dismisses
  • Test win: stop all reels on "Skip" → dismisses correctly
  • Verify reduce-motion accessibility path works

yagizdo added 4 commits June 5, 2026 13:05
Introduce slot machine dismiss mechanism as a new enforcement tier.
Three reels on first two attempts, single reel on the last attempt.
Speed decreases each attempt (1.2x → 0.9x → 0.7x) so timing gets
easier with practice. If all three attempts fail, falls back to a
phrase-typing escape ("I prefer sitting anyway").

Added to gentle tier 4 and firm tier 2. Uniform reel speed and
reduced overshoot (0.5× symbol stride) make the stop timing feel
responsive rather than random.
- C1: replace hardcoded escalation cap 4 with dynamic tiers.count-1 in BreakCoordinator, making Gentle tier 5 reachable
- H1: add per-reel 15s auto-stop timer in startSpin to prevent permanent livelock
- M1: add missing skipDelay==30 assertion for Firm tier[2] in tests
- L1: remove roundNumber state and all dead roundHeaders/roundSubtitles branches
- L2: guard ForEach range against inversion with max(first, ...)
- L4: add lower-bound clamp test for Firm policy
- update CoordinationTests cap assertion from 4->5 to reflect 6-tier Gentle policy
@yagizdo yagizdo merged commit 1e29a7e into main Jun 6, 2026
1 check passed
@yagizdo yagizdo deleted the feat/slot-machine-challenge branch June 6, 2026 19:23
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