I developed my Java Blackjack Simulator to provide project opportunities for my AP Computer Science and Advanced Topics in Comp Sci classes.
The Simulator includes the features below.
- Players that can make decisions about main bets, insurance bets and player actions
- Observers that can observe each face up card, shuffle, player decision and result at the correct relative times
- Players are observers to facilitate card counting
- Cards can be dealt from a shoe, a continuous shuffling machine or any other source
The Simulator provides many authentic and engaging project opportunities including those below.
- Create a player that uses the appropriate basic strategy for the given rules
- Count cards and bet according while playing basic strategy
- Incorporate count dependent adjustments to basic strategy
- Attempt to detect whether other individual players are counting cards
- Attempt to detect team play
- Extend the Simulator to include variable rules (ex: early and late surrender, double after split, resplitting, etc)
blackjack.Casino contains the
main method. Most of the simulation code is in
blackjack.players.AbstractBlackjackPlayer is a simple class students can extend to make players that behave in specific ways.