amoebacode

Blackjack

This Swing-based Java applet simulates a casino blackjack game, with support for all standard playing decisions (hit/stand/double down/split/surrender/insurance) and the following house options:

  • Number of decks in the shoe (1-8)
  • Dealer stands/hits on soft seventeen
  • Double any two cards/9, 10, or 11 only/10, 11 only
  • Double after split allowed/not allowed
  • Early/late/no surrender available

The applet includes a tutor that can alert the player whenever a playing decision deviates from basic strategy. Basic strategy is the set of rules covering all possible scenarios given the current house options that maximizes the player's average gain, or expectation (without reference to any other players' cards or any cards previously used from the current shoe).

If you're curious, you can browse the JavaDoc API or even download the source code. Be sure to contact me if you have any feedback.