Skip to main content

A comprehensive collection of classic card, paper, dice, logic, and word games with AI opponents and both CLI and GUI interfaces

Project description

Games Collection

The Games Collection brings together more than forty classic games implemented in Python. Card tables, pen-and-paper puzzles, dice showdowns, word challenges, and logic brainteasers all live in a single repository with shared engines, artificial intelligence opponents, and optional graphical interfaces.

The project targets players who want quick access to familiar favourites and contributors who enjoy extending game mechanics or experimenting with strategy algorithms.

Highlights

  • Broad catalogue – 49 playable games spanning card, paper, dice, logic, and word genres. See the Games Catalogue for the full list.
  • Multiple interfaces – Launch titles from the command line, via the games-collection menu, or with Tkinter/PyQt graphical front ends where available.
  • Reusable infrastructure – Common modules provide AI strategies, save/load support, event dispatch, replay recording, accessibility helpers, and more.
  • Educational tooling – Several games ship with hint systems, tutorials, and probability calculators that make the collection a useful teaching aid.

Installation

From PyPI

Install the published package to get the latest stable release:

pip install games-collection

Optional extras install the GUI stack and developer tooling:

pip install games-collection[gui]
pip install games-collection[dev]

From Source

Working on the codebase or trying unreleased features? Clone the repository and perform an editable install:

git clone https://github.com/saint2706/Games.git
cd Games
pip install -e .[dev]

Running games

After installation you have several options:

  • Interactive menu – Run games-collection to browse all installed titles.

  • Console scripts – Call commands such as games-blackjack, games-tic-tac-toe, or games-farkle directly.

  • Module execution – Use Python’s module runner when you want additional flags or to inspect help text:

    python -m card_games.blackjack --help
    python -m paper_games.connect_four --gui
    python -m dice_games.craps
    

Many games accept a --gui flag to launch graphical interfaces. PyQt5 is the primary GUI framework, with Tkinter available as a fallback. You can select a specific framework with --gui-framework pyqt5 or --gui-framework tkinter.

Repository layout

card_games/      Card-based titles such as Blackjack, Poker, Uno, and Hearts
paper_games/     Board and pencil games including Chess, Sudoku, and Yahtzee
dice_games/      Dice-driven experiences like Craps and Farkle
logic_games/     Puzzle boxes such as Sokoban and Minesweeper
word_games/      Vocabulary challenges including Crossword and Trivia
common/          Shared engines, AI strategies, GUIs, persistence, accessibility
scripts/         Launchers registered as console entry points
docs/            Sphinx documentation (rewritten from scratch)
examples/        Sample integrations and automation snippets
tests/           Automated test suite mirroring the package structure

Development workflow

  1. Install dependencies with pip install -e .[dev].
  2. Format code with black . and ruff check --fix . (line length 160).
  3. Run static analysis using mypy . and, optionally, radon cc ....
  4. Execute the full test suite: pytest or pytest --cov. Fixtures live under tests/fixtures.
  5. Update documentation in docs/ and add entries to CHANGELOG.md for notable changes.

Pre-commit hooks (pre-commit install) help keep commits consistent.

Documentation

This README provides a high-level summary. Detailed user and developer guides live in the Sphinx documentation. Build the HTML site with:

cd docs
pip install -r requirements.txt
make html

Generated pages will be available in docs/build/html/index.html.

Contributing

Contributions are welcome! Please open an issue or discussion to propose new ideas, then follow the steps in CONTRIBUTING.md. Remember to include tests and documentation updates alongside code changes.

License

This project is released under the MIT License. See LICENSE for full terms.

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

games_collection-1.6.0.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

games_collection-1.6.0-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

Details for the file games_collection-1.6.0.tar.gz.

File metadata

  • Download URL: games_collection-1.6.0.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for games_collection-1.6.0.tar.gz
Algorithm Hash digest
SHA256 5da766c6fbe5aa7fca768729c8e5835ccc4f551631e2bd1c389fc660437f4f50
MD5 0b44288eb476aadb653295d423a80831
BLAKE2b-256 df33d4c7524598d477de1e6ef165b306740452aec375a54d69ee3f819597a02e

See more details on using hashes here.

Provenance

The following attestation bundles were made for games_collection-1.6.0.tar.gz:

Publisher: publish-pypi.yml on saint2706/Games

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file games_collection-1.6.0-py3-none-any.whl.

File metadata

File hashes

Hashes for games_collection-1.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2daa78a41b181353aa3ecdf2360be76015ec9d342cad80ad0d9f4a25b85fb63c
MD5 7f03d7ddcfb72e59faa38e521fac9589
BLAKE2b-256 cec5c8e62de08a39ad4596049f8cdf876b2b26b0b4dc692d5b760a8cdf9ef172

See more details on using hashes here.

Provenance

The following attestation bundles were made for games_collection-1.6.0-py3-none-any.whl:

Publisher: publish-pypi.yml on saint2706/Games

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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