Terminal blackjack you can launch in seconds with a polished Ink UI and friendly table chatter.
tBlackjack started as a weekend experiment to see how far Ink and ink-playing-cards
could push terminal UX, and it evolved into a blackjack table that feels at home in your shell. The game handles the full dealing loop, dealer AI, and table talk so players can fire it up with npx
and jump straight into a round.
evaluateHand
.src/components
.ink-playing-cards
, the card toolkit that inspired the project.DealerMessages
explains what the dealer just didβbust, blackjack, or soft stand.GameStats
adds subtle βthinkingβ indicators while the dealer plays so youβre never wondering why the action paused.DECK_RESHUFFLE_THRESHOLD
in Game.tsx
).GameStatisticsDisplay
keeps running totals for wins, busts, blackjacks, and best hand value.TAB
to surface stats only when you want them.DeckProvider
so every new game starts fresh without manual shuffles.App
, Game
, and Welcome
are split out for quick experimentation with new screens or controls.src/test/app.test.tsx
guards the Ink layout.src/cli.tsx
so you can ship updates with npm
.ink-playing-cards
in a real game loop.npx tblackjack
# or install globally
npm install -g tblackjack
tblackjack
ink-playing-cards
, so any improvement to the library lands here too.Ready to take a seat? Fire up npx tblackjack
, watch the dealer flip that first card, and let me know what feels missing.