Skip to main content

A game of Blackjack with graphical user interface.

Project description

blackjack-gui

Single-player Blackjack including GUI and CLI interfaces. Can be used to simulate games (with simple card counting) and learn basic strategy.

Installation

$ python3 -m venv venv
$ source venv/bin/activate
$ pip3 install blackjack-gui

Usage

GUI version

blackjack

CLI version

blackjack --gui=False [OPTION...]

Options:

Name Default Description
--stack 1000 Initial stack. Can be used with --gui=True too.
--bet 1 Bet size.
--n_games 10 Number of rounds to be played.
--ai False If True, computer plays instead of you.
--count False If True, ai uses card counting.
--loglevel DEBUG Adjust amount of logging: DEBUG or INFO.
--cards Determine first player cards, e.g. --cards=A,8,K. Shuffles the shoe after every hand.
--dealer_cards Determine first dealer cards. Useful for testing.

Examples

Open the GUI version:

$ blackjack

With the default settings, play 10 rounds of Blackjack without GUI:

$ blackjack --gui=False

Let the computer play perfect basic game and use card counting technique to bring down the house:

$ blackjack --n_games=100000 --ai=True --count=True --loglevel=INFO --gui=False

Simulate soft 19 starting hand only:

$ blackjack --n_games=10000 --ai=True --loglevel=INFO --gui=False --cards=A,8

Tests

Install blackjack-gui from GitHub and pytest:

$ git clone https://github.com/tukiains/blackjack-gui
$ cd blackjack-gui/
$ python3 -m venv venv
$ source venv/bin/activate
$ pip3 install .
$ pip3 install pytest

Run unit and integration tests:

$ pytest-3 tests/unit.py
$ pytest-3 tests/integration.py

Basic strategy chart

  • Note that 16 vs 10 with 3 or more cards = Stay

Notes

Licence

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

blackjack-gui-0.2.0.tar.gz (5.7 MB view hashes)

Uploaded Source

Built Distribution

blackjack_gui-0.2.0-py3-none-any.whl (5.8 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page