Skip to content

bcook/blackjack + blackjack-challenge: hint card with the book play (?)#99

Merged
BCook98 merged 2 commits into
mainfrom
bcook/blackjack-hint-card
Jul 10, 2026
Merged

bcook/blackjack + blackjack-challenge: hint card with the book play (?)#99
BCook98 merged 2 commits into
mainfrom
bcook/blackjack-hint-card

Conversation

@BCook98

@BCook98 BCook98 commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

What

Press ? (or /, for keyboards where ? needs shift) to toggle a hint card: on your turn, a line under the dealer's cards shows the book play for the hand exactly as it stands — hint: HIT - hard 14 vs 10, hint: SPLIT - pair of 8s vs 6. Hints are per-seat, render-only state: only the player who turned them on sees them, and the line waits for card animations to land so it never spoils a card mid-flight. A HINT touch chip is declared so the rune is reachable on deck, and the turn prompt now ends with [?]hint for discoverability.

Per-table advice, not one chart

Each game gets a strategy.go tuned to its rules:

Blackjack — standard six-deck basic strategy for this table (dealer stands on all 17, double after split, late surrender), with correct degradation when the ideal cell is unavailable:

  • 3-card 16 vs 10 → HIT (the surrender window has passed)
  • broke soft 18 vs 5 → STAND (can't afford the double)
  • 8,8 at the hand cap → plays as hard 16
  • the insurance window answers too: the book never takes insurance

Blackjack Challenge — the chart adapted to the variant:

  • no surrender cells (16 vs 10 reads HIT here)
  • doubles stay live on 3-card hands (this table allows them)
  • pairs split by point value (K+10 reads "pair of 10s")
  • the Five Card Trick dominates 4-card hands: a soft 4-card hand can never bust, so hitting is a guaranteed instant even-money win; hard 4-card 15-and-under chases the trick; and 4-card 17 vs 9/10/A hits because ties lose

Tests

~30 chart cells asserted across both games (variant twists first, shared spine after), availability-fallback tests, and toggle-and-render tests asserting the hint line appears on its row for the active viewer and clears on toggle-off. go test, go vet, and lint-width clean in both games.

🤖 Generated with Claude Code

BCook98 and others added 2 commits July 10, 2026 14:01
Pressing ? (or /, where ? needs shift) toggles a per-seat hint card: on your
turn a line under the dealer's cards reads the book play for the hand as it
stands - "hint: HIT - hard 14 vs 10". The state is render-only and per seat,
so only the player who turned hints on sees them; a HINT touch chip makes the
rune reachable on deck, and the turn prompt ends with [?]hint.

Each table gets advice for ITS rules (strategy.go). Blackjack is standard
six-deck basic strategy (S17, DAS, late surrender), degrading correctly when
the ideal cell is unavailable: a 3-card 16 vs 10 hits (surrender window
passed), a broke soft 18 vs 5 stands (can't double), capped 8,8 plays as hard
16. The insurance window answers too: the book never takes insurance.

Blackjack Challenge adapts the chart to the variant: no surrender cells,
doubles live on 3-card hands, pairs split by point value (K+10 is a pair of
10s), and the Five Card Trick dominates 4-card hands - a soft 4-card hand
can't bust so hitting is a guaranteed instant win, hard 4-card 15-and-under
chases the trick, and 4-card 17 vs 9/10/A hits because ties lose.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Both scripts flip the hint card on right after the deal and capture it: the
seeded hands read "hint: STAND - hard 20 vs 6" (the pair of tens plays as its
total) and "hint: SPLIT - pair of 8s vs 4", verified by native replays of
both seeds. The card toggles back off after the shot so every frame that
follows is unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jul 10, 2026

Copy link
Copy Markdown

Smoke screens

Deterministic scripted screens for d84ad65d92b89d9406575393af9ddd4fc881512c (what is this?)

games/bcook/blackjack-challenge — 20 screens

01-bet.seat0
01-bet.seat0

01-bet.seat1
01-bet.seat1

02-backing.seat0
02-backing.seat0

02-backing.seat1
02-backing.seat1

03-sidebet.seat0
03-sidebet.seat0

03-sidebet.seat1
03-sidebet.seat1

04-dealt.seat0
04-dealt.seat0

04-dealt.seat1
04-dealt.seat1

05-hint.seat0
05-hint.seat0

05-hint.seat1
05-hint.seat1

06-split.seat0
06-split.seat0

06-split.seat1
06-split.seat1

07-draw.seat0
07-draw.seat0

07-draw.seat1
07-draw.seat1

08-payout.seat0
08-payout.seat0

08-payout.seat1
08-payout.seat1

09-ready.seat0
09-ready.seat0

09-ready.seat1
09-ready.seat1

10-next.seat0
10-next.seat0

10-next.seat1
10-next.seat1

games/bcook/blackjack — 18 screens

01-bet.seat0
01-bet.seat0

01-bet.seat1
01-bet.seat1

02-backing.seat0
02-backing.seat0

02-backing.seat1
02-backing.seat1

03-sidebet.seat0
03-sidebet.seat0

03-sidebet.seat1
03-sidebet.seat1

04-dealt.seat0
04-dealt.seat0

04-dealt.seat1
04-dealt.seat1

05-hint.seat0
05-hint.seat0

05-hint.seat1
05-hint.seat1

06-split.seat0
06-split.seat0

06-split.seat1
06-split.seat1

07-payout.seat0
07-payout.seat0

07-payout.seat1
07-payout.seat1

08-ready.seat0
08-ready.seat0

08-ready.seat1
08-ready.seat1

09-next.seat0
09-next.seat0

09-next.seat1
09-next.seat1

@BCook98
BCook98 merged commit 2bc7c99 into main Jul 10, 2026
6 checks passed
@BCook98
BCook98 deleted the bcook/blackjack-hint-card branch July 10, 2026 04:06
@github-actions

Copy link
Copy Markdown

shellcade could not publish this release to the arcade

The GitHub release was cut, but the arcade's re-verification refused it,
so the game will NOT go live / update until this is resolved:

bcook/blackjack-challenge — tag bcook-blackjack-challenge-v3

catalog: release "bcook-blackjack-challenge-v3": status 403: {"message":"API rate limit exceeded for 79.127.166.163. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)","documentation_url":"https://docs.github.com/rest/overview/resources-in-the-rest-api#rate-limiting"}

See the publish run for full logs. Re-running it retries the arcade publish.

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