Back to projects
Blackjack Counter
2026

Blackjack Counter

Personal project

A desktop Blackjack game in Python with a Tkinter GUI and a parallel CLI front-end, both driven by the same state-machine core. Built as a focused refresher on Python fundamentals with strict separation between game logic and presentation.


Tech stack

PythonTkinterpytestuvruff

Highlights

  • One Game state machine drives two front-ends: a Tkinter desktop window and an ASCII-art CLI, both calling identical core logic.
  • 182 tests across cards, scoring, state machine, Tk widgets, and CLI rendering, full suite runs in under two seconds.
  • Reproducible environment via uv with a locked dependency graph and editable install; no global Python pollution.
  • Hand evaluation handles soft aces, busts, naturals, and dealer-stays-on-17, each with dedicated test coverage.

Screenshots


Links