Skip to content
0-draftPublic

About

Blackjack played by whoever turns up. Every decision is a GitHub issue and the table is the README.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

7 Commits

Folders and files

Repository files navigation

Blackjack

Blackjack against a dealer that lives in GitHub Actions, played by whoever turns up. Nothing to install, and no account beyond the one you already have: every decision is an issue, and the table is this file.

dealerseven of spadesthe dealer's hole card, face down
youthree of diamondsseven of spades

The dealer shows seven, and you have 10.

hitstanddoublesurrender

Beat the dealer without going over 21. A click opens a prefilled issue: submit it and the table moves in about 30 seconds.

Shoe 1 · 4.8 decks left · out of it: 6 7 Q 7 8 7 8 2 2 Q T T 5 K K 7 9 3 3 J 9 3 7 7 · all 62

-3u over 11 hands · 1 player · 0u lost to mistakes

HandPlayerDealer
11 @kanywst22 bust (9 3 J)12 (3 9)-25u
10 @kanywst20 (T K)22 bust (5 K 7)+25u
9 @kanywst21 (7 2 2 Q)18 (8 T)+25u

6 decks · dealer stands on soft 17 · double after split · late surrender · blackjack pays 3 to 2 · shuffled at the 75% cut card

How to play

Pick a chip to deal a hand, then hit, stand, double, split or surrender with the buttons that appear. Each click opens an issue with the decision already written in the title — press Submit, and about 30 seconds later the table above has moved and the issue is closed with a note on what that decision was worth.

There is one table and one hand at a time, so whoever clicks next is the player. A link drawn for an earlier hand is refused rather than applied to whatever is on the table now.

  • Six decks, dealt down to a cut card at 75% before the shoe is shuffled
  • Every card that has come out of the shoe is listed under the table. Nothing here tells you the count; counting it is the game
  • Each decision is priced from the cards actually left in the shoe, and what a mistake cost is added up per player
  • Every hand is kept in .github/blackjack-log.txt

How it works

scripts/blackjack.py is the game: the rules, the state in .github/blackjack.json, and the renderer that writes the table between the two markers above. scripts/bjmath.py prices each decision against the shoe. .github/workflows/blackjack.yml runs them whenever an issue is opened whose title starts with bj|, then commits the redrawn README and closes the issue.

The hole card is not in the repository: the state file is public, so the dealer's second card is not drawn until it is turned over.

The cards in .github/cards are drawn by scripts/make_cards.py and committed rather than generated on each hand, so .github/workflows/checks.yml regenerates them on every pull request and fails if the committed art no longer matches its generator. .github/workflows/calculator.yml checks the calculator against all 260 cells of the published basic-strategy chart, nightly and on any change to it.

Moved out of the kanywst/kanywst profile README on 2026-10-02, with the shoe and the scores as they stood.

About

Blackjack played by whoever turns up. Every decision is a GitHub issue and the table is the README.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages